디지털 비디오는 Frame이 연속되게 보여주는 구성을 가지고 있습니다.
비디오의 속도는 초당 프레임의 개수인 Frames per second (FPS) 로 표현됩니다.
비디오 획득 객체 생성하기
cv2.VideoCapture(filename)
프레임 획득 객체 해제
cv2.VideoCapture.release()
다음과 같이 cap이라는 비디오 획득 객체를 생성합니다.
프레임 사이즈도 출력해 보았습니다.
while문에서 cap에서 계속 읽어오는데 이 값이 None이 되면 while문 밖으로 나가게 됩니다.
즉, 동영상이 끝날 때까지 계속해서 cap에서 읽어와 frame에 저장하고 보여줍니다.
동영상의 크기가 커서 resize로 frame의 크기를 반으로 줄였습니다.
fx, fy 에는 0~1 사이의 값이 들어갈 수 있고 fx=0.5라면, 가로 길이를 0.5배를 하는 것입니다.
또, Esc키를 누르면 동영상이 중간에 중단되고 윈도우 창이 닫힙니다.
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
|
import cv2
cap = cv2.VideoCapture('dog.mp4')
print('frame_size =', frame_size)
while True:
retval, frame = cap.read()
if not retval:
break
cv2.imshow('frame',frame)
key = cv2.waitKey(25)
if key == 27: # Esc
break
if cap.isOpened():
cap.release()
cv2.destroyAllWindows()
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
'인공지능 > OpenCV' 카테고리의 다른 글
[OpenCV] Haar Cascade 사용하여 얼굴에 마스크 합성하기 (스*우) (5) | 2020.04.09 |
---|---|
[OpenCV] 동영상에서 특정 색상의 물체를 찾기 (0) | 2020.04.09 |
[OpenCV] 트랙바를 이용하여 이진화 (0) | 2020.04.09 |
[OpenCV] 유튜브영상 윈도우창에 출력하기 (0) | 2019.08.15 |
[OpenCV] 영상 입출력 (0) | 2019.08.15 |