[python] PIL로 동영상 파일 읽기

PIL(Python Imaging Library)은 Python에서 이미지 처리와 조작을 위한 강력한 라이브러리입니다. PIL을 사용하여 이미지 파일을 읽고 조작하는 것은 매우 간단하지만, 동영상 파일을 읽기 위해서는 몇 가지 추가적인 단계가 필요합니다.

이번 포스트에서는 PIL을 사용하여 동영상 파일을 읽는 방법을 알아보겠습니다.

1. 필요한 모듈 설치

PIL을 사용하여 동영상 파일을 읽기 위해 추가적인 모듈이 필요합니다. 따라서 아래의 명령을 사용하여 필요한 모듈을 설치해야 합니다.

pip install opencv-python
pip install Pillow

2. 동영상 파일 읽기

동영상 파일을 읽기 위해서는, PIL 대신 OpenCV를 사용해야 합니다. OpenCV는 이미지 및 비디오 처리를 위한 강력한 라이브러리입니다. 아래의 코드는 동영상 파일을 읽고, 각 프레임을 이미지로 변환하여 저장하는 예제입니다.

import cv2

# 동영상 파일 경로
video_path = "video.mp4"

# 동영상 파일 열기
video = cv2.VideoCapture(video_path)

frame_count = 0

# 동영상 파일 읽기
while video.isOpened():
    # 프레임 읽기
    ret, frame = video.read()
    
    # 프레임이 있는 경우
    if ret:
        # 현재 프레임을 이미지로 변환하여 저장
        image_path = f"frame_{frame_count}.jpg"
        cv2.imwrite(image_path, frame)
        
        frame_count += 1
        
    else:
        break

# 동영상 파일 닫기
video.release()

위의 코드에서 video_path 변수에 동영상 파일의 경로를 지정하고, frame_{frame_count}.jpg와 같은 형식으로 저장될 이미지 파일의 이름을 지정합니다. 동영상 파일을 프레임 단위로 읽어서 각 프레임을 이미지로 변환하고 저장합니다.

3. 결과 확인

위의 코드를 실행하고 나면, 동영상 파일에서 프레임 단위로 추출한 이미지 파일들이 저장된 것을 확인할 수 있습니다.

PIL(Python Imaging Library)은 이미지 파일의 처리와 조작을 위한 강력한 도구이지만, 동영상 파일의 경우 OpenCV와 함께 사용해야 합니다. 위의 예제를 통해 동영상 파일을 읽고, 프레임을 이미지로 변환하여 저장하는 방법을 알아보았습니다.

참고 자료