실행환경
CPU: Apple Silicon M1
MacOS 12.0+
Python==3.9.5
OpenCV==4.7.0
Jupyter Lab==3.5.3
opencv란?
사진과 영상을 처리하기 위한 라이브러리입니다. 터미널에서 pip install opencv
혹은 pip install opencv-python
등을 입력하면 내 파이썬 환경에서 쓸 준비가 됩니다.
불러올 영상들 (출처: Pixabay)
테스트를 위해 해상도가 다른 영상을 받았습니다! 영상 #1을 Tree.mp4, 영상 #2를 snow.mp4로 각각 다운로드와 데스크탑에 저장했습니다. 아래 함수는 맥의 다운로드와 데스크탑 경로를 기준으로 작성되었습니다.
1. 영상 불러오고 정보 출력하기 함수
파일명만 입력되어 있으면 디폴트 경로에서 영상 파일을 불러오기, 파일명, 경로가 입력되면 그 디렉토리 안의 파일을 불러오는 코드입니다.
|
|
(1) 디폴트 폴더에 있는 파일 불러오기
아래와 같이 파일명만 입력하면 “/Users/user/Downloads/“에 있는 파일을 불러옵니다. 만약 디폴트로 설정된 경로를 다른 곳으로 바꾸고 싶다면.. path="/Users/user/Downloads/“에 있는 부분을 다른 주소로 바꾸면 됩니다.
|
|
Output:
Tree.mp4
width: 1280.0
height: 720.0
frames: 750.0
fps: 25.0
< cv2.VideoCapture 0x13c65b4b0>
(2) 바탕화면에 있는 파일 불러오기
바탕화면에 있는 snow.mp4 파일을 불러와 보겠습니다.
|
|
Output:
snow.mp4
width: 640.0
height: 360.0
frames: 1129.0
fps: 25.0
< cv2.VideoCapture 0x13c65b5f0>
2. 영상 재생하기
재생하는 함수 play
를 정의합니다. cap에는 opencv를 통해서 불러온 비디오 파일을 넣어줍니다. 이 함수를 실행하면 영상의 마지막 프레임까지 재생한다는 뜻입니다.
ret, img = cap.read()부분에서 ret은 이미지가 있으면 True, 없으면 False로 반환됩니다.
|
|
혹시 재생이 안 되고 에러가 뜬다면.. cv2.waitKey(1)
을 cv2.waitKey(0)
으로 바꿔보세요.
MacOS 기준 창을 띄워서 재생하면 다른 작업을 할 수 없습니다 ㅠ
영상을 재생하는 부분은 cv2.imshow()이 부분입니다. 영상 재생을 하고 싶지 않다면! 마지막 세 줄(11번 - 13번 줄)을 주석처리하면 됩니다.
예시 1
바탕화면에 있는 snow.mp4를 a에 저장하고 그것을 재생해라.
|
|
이 코드를 실행하면 파이썬에서 a라는 변수에 저장되어있는 snow.mp4 영상을 새로운 창을 띄우고 재생합니다.
예시 2
|
|