반응형
목차
OpenCV 비디오 속성(Attribute)
파이썬의 OpenCV의 VideoCapture 함수를 사용해서 동영상 파일을 불러 올 수 있습니다. 불러온 비디오 파일을 처리할 때 속도나 크기 처리나 후속 처리를 위해서 특정 비디오가 가진 메타 정보들을 불러와야 합니다.
불러온 비디오 파일을 사용자 지정 객체에 저장하고 객체를 get 함수를 사용해서 속성 정보를 불러 올 수 있습니다. 주요 속성 값은 아래와 같습니다.
- CAP_PROP_POS_MSEC : 현재 비디오 파일의 위치 (ms, timestamp)
- CAP_PROP_POS_FRAMES : index 0 base frame
- CAP_PROP_POS_AVI_RATIO : 비디오 파일의 상대적 위치 (0: 시작점, 1 끝점)
- CAP_PROP_FRAME_WIDTH : 프레임 너비
- CAP_PROP_FRAME_HEIGHT : 프레임 높이
- CAP_PROP_FPS : Frame 속도
- CAP_PROP_FOURCC : 코덱 형태
- CAP_PROP_FRAME_COUNT : Video 파일의 총 프레임 개수
- CAP_PROP_BRIGHTNESS : 밝기 정보 (카메라에만 적용)
- CAP_PROP_CONTRAST : Contrast 정보 (카메라에만 적용)
- CAP_PROP_SATURATION : Saturation 정보 (카메라에만 적용)
사용 방법>>
비디오객체파일명.get(cv2.property명)
Property는 앞서 속성으로 설명 드린 값을 입력하시면 됩니다. 아래 실제 예제를 보시면 쉽게 이해하실 수 있습니다.
OpenCV 비디오 속성 예제
예제 코드>>
import cv2
Vid=cv2.VideoCapture('car.mp4')
if Vid.isOpened():
print("cv2.CAP_PROP_POS_MSEC: '{}'".format(Vid.get(cv2.CAP_PROP_POS_MSEC)))
print("cv2.CAP_PROP_POS_FRAMES: '{}'".format(Vid.get(cv2.CAP_PROP_POS_FRAMES)))
print("cv2.CAP_PROP_POS_AVI_RATIO: '{}'".format(Vid.get(cv2.CAP_PROP_POS_AVI_RATIO)))
print("cv2.CAP_PROP_FRAME_WIDTH: '{}'".format(Vid.get(cv2.CAP_PROP_FRAME_WIDTH)))
print("cv2.CAP_PROP_FRAME_HEIGHT: '{}'".format(Vid.get(cv2.CAP_PROP_FRAME_HEIGHT)))
print("cv2.CAP_PROP_FPS: '{}'".format(Vid.get(cv2.CAP_PROP_FPS)))
print("cv2.CAP_PROP_FOURCC: '{}'".format(Vid.get(cv2.CAP_PROP_FOURCC)))
print("cv2.CAP_PROP_FRAME_COUNT: '{}'".format(Vid.get(cv2.CAP_PROP_FRAME_COUNT)))
print("cv2.CAP_PROP_BRIGHTNESS: '{}'".format(Vid.get(cv2.CAP_PROP_BRIGHTNESS)))
print("cv2.CAP_PROP_CONTRAST: '{}'".format(Vid.get(cv2.CAP_PROP_CONTRAST)))
print("cv2.CAP_PROP_SATURATION: '{}'".format(Vid.get(cv2.CAP_PROP_SATURATION)))
Vid.release()
cv2.destroyAllWindows()
3번 라인: 무료이미지 사이트에서 받은 동영상 파일 car.mp4 파일을 코드와 동일 폴더에 넣고 불러 옵니다.
5번 라인: 동영상 불러오기가 성공했을 경우 진행 합니다.
6~16번 라인: 앞서 property 값을 입력해서 내용을 get 함수로 출력 해줍니다.
18~19번 라인: 영상이나 이미지(Image) 파일을 열어 놓으면 메모리를 차지 하므로 해제 처리 해줍니다.
결과>>
cv2.CAP_PROP_POS_MSEC: '0.0'
cv2.CAP_PROP_POS_FRAMES: '0.0'
cv2.CAP_PROP_POS_AVI_RATIO: '4.1666666666666665e-05'
cv2.CAP_PROP_FRAME_WIDTH: '3840.0'
cv2.CAP_PROP_FRAME_HEIGHT: '2160.0'
cv2.CAP_PROP_FPS: '23.976023976023978'
cv2.CAP_PROP_FOURCC: '828601953.0'
cv2.CAP_PROP_FRAME_COUNT: '360.0'
cv2.CAP_PROP_BRIGHTNESS: '0.0'
cv2.CAP_PROP_CONTRAST: '0.0'
cv2.CAP_PROP_SATURATION: '0.0'
반응형
'파이썬(Python) > opencv' 카테고리의 다른 글
[Python]OpenCV 동영상 저장하기, 코덱 종류와 사용방법(Video, fourcc, codec) (0) | 2022.03.18 |
---|---|
[Python] OpenCV 동영상 파일 재생하기 (화면 사이즈 변경) (0) | 2022.03.17 |
[Python]OpenCV imread함수 사용법, 옵션(Option), 예제 (0) | 2022.03.15 |
[Python]OpenCV waitKey 함수 사용법, 이미지/동영상 파일 열고 닫기 (0) | 2022.02.22 |
[Python]OpenCV 컴퓨터 카메라로 화면 캡쳐해서 저장하기(Camera capture, save) (0) | 2022.02.15 |