티스토리 뷰
안녕하세요, OpenCV 공부 2일차입니다!
Computer Vision은 실시간으로 영상을 처리하는 것이 굉장히 중요한데, 오늘은 화면을 통해 영상을 받아 보는 코드를 작성해보았습니다.
먼저, 전체 코드 입니다.
import cv2
# Camera
capture = cv2.VideoCapture(0)
capture.set(cv2.CAP_PROP_FRAME_WIDTH,640)
capture.set(cv2.CAP_PROP_FRAME_WIDTH,480)
while cv2.waitKey(33) < 0 :
# 33ms마다 반복문을 실행
ret, frame = capture.read() # ret:camera 이상 여부, frame : 현재 시점의 frame
cv2.imshow("VideoFrame", frame)
print(cv2.waitKey(33))
capture.release()
cv2.destroyAllWindows()
코드를 천천히 분석해보면,
capture = cv2.VideoCapture(0)
capture.set(cv2.CAP_PROP_FRAME_WIDTH,640)
capture.set(cv2.CAP_PROP_FRAME_WIDTH,480)
이 세 줄은 카메라를 불러오는 과정입니다.
cv2.VideoCapture(Camer Number) : 이 명령어는 카메라를 불러오는 과정입니다. 대부분의 노트북에는 웹캠이 0번으로 설정되어있습니다. 만약에 카메라를 추가한다면, 1번 카메라,2번 카메라... 으로 되겠죠
capture.set(cv2.CAP_PROP_FRAME_WIDTH,640)
capture.set(cv2.CAP_PROP_FRAME_WIDTH,480)
: 이 두 명령어는 프래임의 높이와 너비를 설정해주는 함수입니다.
cv2.waitKey(33) : 이 명령어는 33ms(1초당 33번의 프레임을받는다)속도로 -1을 반환합니다. 이 때, 키보드에서 아무 키나 입력을 받으면 양수를 반환합니다. 따라서 while문은 33ms 속도로 계속해서 반복하다가 다른 키를 누르면 종료가 됩니다.
ret, frame = capture.read() : 화면을 읽습니다. 이 함수는 두 개의 변수를 반환하는데, ret은 카메라가 정상작동한다면 1을 반환합니다. frame은 말 대로 frame을 반환합니다.
cv2.imshow("VideoFrame", frame) : "VideoFrame"이라는 창 이름으로 frame을 출력합니다.
capture.release() : 카메라의 리소스를 해제합니다. 카메라를 정상적으로 종료시키는 역할을 수행합니다.
cv2.destroyAllWindows() : 모든 OpenCV 창을 닫습니다.
'Computer Vision > OpenCV' 카테고리의 다른 글
[OpenCV] 이미지 출력하기 (0) | 2024.01.09 |
---|---|
[OpenCV] Python을 이용하여 OpenCV 다루기 (0) | 2024.01.06 |
- Total
- Today
- Yesterday
- C++ #알고리즘 #코딩테스트
- #include<bits/stdc++.h> # Visual studio #코딩테스트 꿀팁 #알고리즘 풀이
- C++ #알고리즘 #연결리스트
- 백준 4179
- 알고리즘 정리
- 백준 2493
- 백준 4949
- 백준 2164
- 알고리즘 풀이
- 백준 2178
- android studio
- 백준 1021
- C++
- 백준 #알고리즘 풀이 #백준 1475
- 안드로이드 스튜디오
- 백준 7576
- ViewBinding
- 백준 3986
- 백준1158
- AAR metadata 에러
- Render Problem
- 백준 5430
- 코딩테스트
- 백준 7569
- 문제 유형
- 코테
- 알고리즘 #백준 3273 #C++
- 백준 1697
- 알고리즘
- constraint missing 오류
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 28 | 29 | 30 | 31 |