[파이썬] moviepy 프레임별로 이미지 추출하기
Moviepy는 파이썬에서 동영상 처리를 위한 간편하고 강력한 라이브러리입니다. 이 블로그 포스트에서는 Moviepy를 사용하여 동영상의 각 프레임에서 이미지를 추출하는 방법을 소개하겠습니다.
1. Moviepy 설치하기
먼저 Moviepy를 설치해야 합니다. 다음 명령을 사용하여 pip를 통해 Moviepy를 설치할 수 있습니다.
pip install moviepy
2. 동영상에서 프레임 추출하기
Moviepy를 사용하여 동영상에서 프레임을 추출하려면 다음 단계를 따라야 합니다.
moviepy.editor
모듈을 임포트합니다.from moviepy.editor import VideoFileClip
- 동영상 파일을 로드합니다.
video = VideoFileClip("example.mp4")
video.iter_frames()
을 사용하여 동영상의 각 프레임을 가져옵니다.frames = video.iter_frames()
- 각 프레임에서 이미지를 추출합니다.
frame_num = 0 for frame in frames: frame_image = Image.fromarray(frame) frame_image.save(f"frame_{frame_num}.png") frame_num += 1
위의 코드에서 example.mp4
는 추출할 동영상 파일의 경로입니다. iter_frames()
메서드는 프레임을 순회 가능한 객체로 반환합니다. 각 프레임은 3차원 넘파이 배열로 표현되며, Image.fromarray()
를 사용하여 이미지 객체로 변환한 뒤 save()
메서드를 사용하여 이미지를 저장할 수 있습니다.
3. 실행 결과
위의 코드를 실행하면 동영상에서 프레임별로 이미지가 추출됩니다. 추출된 이미지는 frame_0.png
, frame_1.png
와 같이 프레임 번호를 포함한 파일 이름으로 저장됩니다.
마무리
이렇게 Moviepy를 사용하여 동영상에서 프레임별로 이미지를 추출하는 방법을 알아보았습니다. 이 기능을 활용하면 동영상 처리 및 이미지 프로세싱에 다양한 영상 데이터를 활용할 수 있습니다. Moviepy의 다른 기능들도 함께 탐색해 보세요!
이상으로 Moviepy 프레임별로 이미지 추출하기에 대한 블로그 포스트를 마치겠습니다. 감사합니다!