[python] 파이썬 moviepy로 동영상 윤곽선 추출하기

moviepy는 파이썬에서 동영상 편집과 처리를 할 수 있는 강력한 라이브러리입니다. 이번 포스트에서는 moviepy를 사용하여 동영상에서 윤곽선을 추출하는 방법을 알아보겠습니다.

1. moviepy 설치하기

먼저 moviepy를 설치해야 합니다. 다음 명령을 사용하여 pip를 통해 설치할 수 있습니다.

pip install moviepy

2. 동영상 윤곽선 추출하기

아래의 예제 코드는 동영상에서 윤곽선을 추출하는 간단한 예제입니다. 예제 동영상 파일은 “video.mp4”라고 가정하겠습니다.

import moviepy.editor as mp

# 동영상 파일 불러오기
video = mp.VideoFileClip("video.mp4")

# 첫 프레임 추출
first_frame = video.get_frame(0)

# 윤곽선 추출
contours = cv2.findContours(first_frame, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# 동영상 저장
contour_video = mp.ImageSequenceClip([frame_contour for frame_contour in contours])
contour_video.write_videofile("contour_video.mp4")

위 코드는 VideoFileClip을 사용하여 동영상 파일을 불러온 다음, get_frame을 사용하여 첫 번째 프레임을 추출합니다. 그리고 cv2.findContours를 사용하여 윤곽선을 추출합니다. 마지막으로 추출한 윤곽선을 포함하는 동영상을 ImageSequenceClip을 사용하여 생성하고, write_videofile을 사용하여 동영상 파일로 저장합니다.

3. 실행하기

위 코드를 실행하기 전에 video.mp4 파일을 준비해야 합니다. 코드를 실행하면 contour_video.mp4라는 동영상 파일이 생성됩니다. 이 파일은 원본 동영상에서 윤곽선을 추출한 결과를 보여줍니다.

4. 마무리

이번 포스트에서는 파이썬의 moviepy를 사용하여 동영상에서 윤곽선을 추출하는 방법을 알아보았습니다. moviepy를 사용하면 동영상 편집 및 처리 작업을 쉽게 수행할 수 있으므로 유용한 라이브러리입니다. 추가적으로 moviepy의 다양한 기능을 살펴보고 사용해보시기 바랍니다.

참고 자료