프로그래밍/Python

[Python] OpenCV 설치 및 카메라 영상 출력 - 1

채윤아빠 2022. 1. 4. 09:04
728x90
반응형

Python에서 OpenCV를 활용하여 카메라 영상을 출력하는 방법에 대하여 알아 보겠습니다.

오늘 날짜로 보면, OpenCV 가장 최신 버전은 4.5.5 입니다. 다음 사이트에서 확인 가능합니다.

OpenCV Download : https://opencv.org/releases/
OpenCV – 4.5.5 / 2021-12-30

C++ 등에서 직접 이용할 것이라면, opencv-4.5.5-vc14_vc15.exe 실행 파일을 받아서 설치하면 되지만, 본 문서에서는 Python에서 OpenCV를 이용할 것이므로 venv를 이용하여 cv2 환경 생성하고 다음과 같이 간단하게 설치가 가능합니다.

> python -m venv cv2
> cv2/Scripts/activate.ps1
> ./cv2/Scripts/pip install opencv-python

다음과 같은 간단한 예제를 통하여 카메라 영상을 윈도우로 출력하는 것을 확인할 수 있습니다.

import cv2

capture = cv2.VideoCapture(0)
capture.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 960)

while cv2.waitKey(1) < 0:
    ret, frame = capture.read()
    cv2.imshow("VideoFrame", frame)

capture.release()
cv2.destroyAllWindows()


위 코드를 하나씩 분석해 보겠습니다.

카메라로부터 영상을 받기 위하여, 카메라 객체를 생성하는 코드가 다음과 같습니다.

capture = cv2.VideoCapture(0)

카메라가 여러개라면 0이 아닌 숫자로 다른 카메라를 지정할 수 있습니다.

카메라로부터 영상 1프레임을 받는 부분은 다음과 같습니다.

    ret, frame = capture.read()

ret 변수에 영상 프레임을 가져온 것이 성공인지 실패인지 확인 할 수 있고, frame에 실제 영상 이미지가 들어 있습니다.

    cv2.imshow("VideoFrame", frame)

"VideoFrame" 창에 카메라에서 가져온 영상을 화면에 표시합니다.

capture.release()
cv2.destroyAllWindows()

사용을 마친 카메라 객체를 반환하고, 모든 윈도우 창을 닫습니다.

다음에는 카메라로부터 받은 영상을 동영상 파일로 저장하는 방법을 알아보도록 하겠습니다.

참고자료