[ Python OpenCV ] 파이썬 오픈씨브이 비디오 캡쳐 - cv2.VideoCapture
1. 컴퓨터의 카메라 상태 확인
- 장치 관리자 카메라 [확인]
- 카메라가 한대면 인덱스는 0
- 여러 대면 그에 맞춰 인덱스 설정
import cv2 as cv
# 카메라 연결 (카메라 인덱스)
Video = cv.VideoCapture(0)
3. 카메라 해상도 설정
- 카메라에 해상도를 설정
- 카메라 스펙에 따라 다르며 맥스 값 입력시 카메라 최대 스펙 자동 지정
# 해상도 설정
Video.set(cv.CAP_PROP_FRAME_WIDTH, 640)
Video.set(cv.CAP_PROP_FRAME_HEIGHT, 480)
4. 카메라 프레임을 읽어 출력
- 카메라의 현재 영상을 읽기
- 화면에 출력
# 프레임을 읽기
ret, Img = Video.read()
# 화면 출력
cv.imshow('Image', Img)
5. 카메라 연결 해제
- 카메라 연결 후 종료 전 항상 메모리 해제 기억
# 카메라 메모리 해제
Video.release()
6. 한장의 프레임 읽은 소스
import cv2 as cv
# 카메라 연결 (카메라 인덱스)
Video = cv.VideoCapture(0)
# 해상도 설정
Video.set(cv.CAP_PROP_FRAME_WIDTH, 640)
Video.set(cv.CAP_PROP_FRAME_HEIGHT, 480)
# 프레임을 읽기
ret, Img = Video.read()
# 카메라 메모리 해제
Video.release()
7. 비디오와 같은 연속 출력 방법
- 반복문 while 사용
- while 조건 키 입력 전 까지 실행 되도록
# 키 입력 전 까지 실행
while cv.waitKey(1) < 0:
ret, frame = Video.read()
cv.imshow("VideoFrame", frame)
8. 전체 소스
import cv2 as cv
# 카메라 연결
Video = cv.VideoCapture(0)
# 해상도 설정
Video.set(cv.CAP_PROP_FRAME_WIDTH, 640)
Video.set(cv.CAP_PROP_FRAME_HEIGHT, 480)
# 프레임을 읽기
ret, Img = Video.read()
# 화면 출력
cv.imshow('Image', Img)
# 일시정지
szTemp = cv.waitKey(0)
# 키 입력 전까지 실행
while cv.waitKey(1) < 0:
# 프레임을 읽기
ret, frame = Video.read()
# 화면 출력
cv.imshow("VideoFrame", frame)
# 카메라 메모리 해제
Video.release()
# 윈도우 창 닫기
cv.destroyAllWindows()
==========
댓글
댓글 쓰기