[ Python OpenCV ] 파이썬 오픈씨브이 비디오 캡쳐 - cv2.VideoCapture

[ Python OpenCV ] 파이썬 오픈씨브이 비디오 캡쳐 - cv2.VideoCapture



1. 컴퓨터의 카메라 상태 확인

    - 장치 관리자 카메라 [확인]



2. 파이썬 OpenCV 카메라 연결

    - 카메라가 한대면 인덱스는 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()



==========


댓글