PYTHON 프로그래밍

본문 바로가기
사이트 내 전체검색


PYTHON 프로그래밍
PYTHON 프로그래밍

2. CAMERA 출력

페이지 정보

작성자 관리자 댓글 0건 조회 3,749회 작성일 19-09-09 15:41

본문

2. CAMERA 출력

Camera 출력


내장 카메라 또는 외장 카메라에서 이미지를 얻어와 프레임을 재생할 수 있습니다.

 

# -*- coding: utf-8 -*-
# Python OpenCV 프로그램

import cv2

capture = cv2.VideoCapture(0)
capture.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)

while True:
    ret, frame = capture.read()
    cv2.imshow("VideoFrame", frame)
    if cv2.waitKey(1) > 0: break

capture.release()
cv2.destroyAllWindows()

 

 

cv2.VideoCapture(n)을 이용하여 내장 카메라 또는 외장 카메라에서 영상을 받아옵니다.

n은 카메라의 장치 번호를 의미합니다. 노트북을 이용할 경우, 내장 카메라가 존재하므로 카메라의 장치 번호는 0이 됩니다.

카메라를 추가적으로 연결하여 외장 카메라를 사용하는 경우, 장치 번호가 1~n까지 변화합니다. 

 

capture.set(option, n)을 이용하여 카메라의 속성을 설정할 수 있습니다.

option은 프레임의 너비와 높이등의 속성을 설정할 수 있습니다.

n의 경우 해당 너비와 높이의 값을 의미합니다. 

 

while문을 이용하여 영상 출력을 반복합니다.

capture.read()를 이용하여 카메라의 상태 및 프레임을 받아옵니다.

ret은 카메라의 상태가 저장되며 정상 작동할 경우 True를 반환합니다. 작동하지 않을 경우 False를 반환합니다.

frame에 현재 프레임이 저장됩니다.

cv2.imshow("윈도우 창 제목", 이미지)를 이용하여 윈도우 창에 이미지를 띄웁니다.

if문을 이용하여 키 입력이 있을 때 까지 while문을 반복합니다.

cv2.waitkey(time)이며 time마다 키 입력상태를 받아옵니다.

키가 입력될 경우, 해당 키의 아스키 값을 반환합니다.

즉, 어떤 키라도 누를 경우, break하여 while문을 종료합니다. 

time이 0일 경우, 지속적으로 검사하여 프레임이 넘어가지 않습니다.
if cv2.waitKey(1) == ord('q'): break으로 사용할 경우, q가 입력될 때 while문을 종료합니다. 

capture.relase()를 통하여 카메라 장치에서 받아온 메모리를 해제합니다.

cv2.destroyAllWindows()를 이용하여 모든 윈도우창을 닫습니다.

 

cv2.destroyWindow("윈도우 창 제목")을 이용하여 특정 윈도우 창만 닫을 수 있습니다.

 

 

결과 :

 

1.PNG 

댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.