python opencv 기반 조작 카메라

3242 단어 pythonopencv카메라
카 메 라 를 사용 하려 면 cv2.VideoCapture(0)를 사용 하여 VideoCapture 대상 을 만들어 야 합 니 다.매개 변수 0 은 카메라 의 번 호 를 말 합 니 다.컴퓨터 에 두 개의 카메라 가 있다 면 두 번 째 카 메 라 를 방문 하면 1 로 들 어 갈 수 있 습 니 다.

#            
import cv2 as cv 
# 0        
capture = cv.VideoCapture(0)

while(True):
  #     
  #  1   ret(return value  )      ,             
  ret, frame = capture.read()
  #          
  gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)

  cv.imshow('frame', gray)
  if cv.waitKey(1) == ord('q'):
    break
카메라 에 포 착 된 그림:

카메라 속성 값 가 져 오기 및 수정
capture.get(propid)을 통 해 캡 처 해상도,밝기,대비 도 등 카메라 의 일부 속성 을 얻 을 수 있 습 니 다.propid 는 0~18 의 숫자 로 서로 다른 속성 을 대표 합 니 다.카메라 의 속성 치 를 수정 하려 면 capture.set(propid,value)를 사용 할 수 있 습 니 다.예 를 들 어 while 전에 아래 코드 를 추가 하면 위의 2 배 해상도 영상 을 캡 처 할 수 있 습 니 다.

#         
# propId       ,    OpenCV     
width, height = capture.get(3), capture.get(4)
print(width, height)

#            
capture.set(cv.CAP_PROP_FRAME_WIDTH, width * 2)
capture.set(cv.CAP_PROP_FRAME_HEIGHT, height * 2)
캡 처 한 2 배 해상 도 는 원래 의 그림 과 같 습 니 다:

로 컬 비디오 재생
카 메 라 를 켜 는 것 과 마찬가지 로 카메라 번 호 를 동 영상 경로 로 바 꾸 면 로 컬 동 영상 을 재생 할 수 있다.cv.waitkey()를 돌 이 켜 보면 매개 변 수 는 일시 정지 시간 을 표시 하기 때문에 이 값 이 클 수록 동 영상 재생 속도 가 느 리 고 반대로 재생 속도 가 빠 를 수록 보통 25 또는 30 으로 설정 합 니 다.

# opencv      
import cv2 as cv

capture = cv.VideoCapture('E:/1.mp4')

while(capture.isOpened()):
  ret, frame = capture.read()
  gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)

  cv.imshow('frame', gray)
  if cv.waitKey(30) == ord('q'):
    break
재생 중인 E:/1.mp4:

비디오 녹화 및 저장
이전에 저희 가 그림 을 저장 할 때 cv.imwrite()를 사 용 했 습 니 다.영상 을 저장 하려 면 VideoWriter 의 대상 을 만들어 야 합 니 다.네 개의 인 자 를 입력 해 야 합 니 다.
1.'output.avi'와 같은 출력 파일 이름
2.인 코딩 방식 FourCC 코드
3.프레임 레이트 FPS
4.저장 할 해상도 크기
FourCC 는 비디오 인 코딩 방식 을 지정 하 는 데 사용 되 는 4 바이트 코드 입 니 다.예 를 들 어 MJPG 인 코딩 은 이렇게 쓸 수 있 습 니 다:cv.VideoWriterfourcc(*'MJPG')또는 cv.VideoWriterfourcc('M','J','P','G')

import cv2 as cv

capture = cv.VideoCapture(0)

#          VideoWriter  
fourcc = cv.VideoWriter_fourcc(*'MJPG')
outfile = cv.VideoWriter('output.avi', fourcc, 25., (640, 480))

while(capture.isOpened()):
  ret, frame = capture.read()

  if ret:
    outfile.write(frame) #     
    cv.imshow('frame', frame)
    if cv.waitKey(1) == ord('q'):
      break
  else:
    break
원 하 는 대로 현재 경로 에서 output.avi 를 생 성 했 습 니 다.

이상 은 python 이 opencv 를 바탕 으로 카 메 라 를 조작 하 는 상세 한 내용 입 니 다.python opencv 조작 카메라 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기