본문 바로가기
Developer/OpenCV

[OpenCV] 카메라 영상 출력하기

by Doony 2020. 8. 14.

최근 openCV를 이용해서 집안 관찰용 카메라를 만드는 프로젝트를 구상하고 있습니다. 오늘은 openCV를 이용해서 컴퓨터와 연결된 카메라를 띄우는 방법에 대해 알아보겠습니다.


시작하기 전에..

아래 코드를 실행했을 때 다음과 같이 오류가 났습니다.


(interrupted by signal 11: SIGSEGV)


여러 원인이 있는듯한데, 저 같은 경우 python console에서 3.7.3 버젼을 쓰고 있는게 문제였습니다. 3.7.5 로 업그레이드해주니 잘 실행되는점 미리 말씀드립니다.


코드는 다음과 같습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import cv2
 
cap = cv2.VideoCapture(0)
# cap으로 영상을 불러옵니다.
 
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 500)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 300)
# 영상 프레임 사이즈를 결정합니다.
 
if cap.isOpened():
# 만약 카메라가 실행되고 있다면,
    ret, a = cap.read()
    # ret: True False value입니다.
    # a: 영상 프레임을 읽어옵니다.
 
    while ret:
    # 제대로 카메라를 불러왔다면~ 반복문을 실행합니다. 
        ret, a = cap.read()
        cv2.imshow("camera", a)
        # 이미지를 보여주는 방식과 같습니다.
 
        if cv2.waitKey(1& 0xFF == 27:
            break
        # 종료 커맨드.
 
cap.release()
cv2.destroyAllWindows()
cs

실행하면 다음과 같이 카메라가 실행된 것을 볼 수 있습니다.
별다른 종료 커맨드가 입력되지 않는 이상, 계속 카메라 프레임을 읽고, 동일한 윈도우에 표시해주는 방식입니다.


프레임을 하나씩 읽어서 표시하는 방식을 이용해서, 다음 포스팅에서는 움직임, 즉 모션을 인식하는 방법에 대해 알아보겠습니다.

댓글