[python] OpenCV를 사용하여 이미지에서 동영상에서 동영상 추출하기

이 예제에서는 Python과 OpenCV 라이브러리를 사용하여 동영상에서 이미지 프레임을 추출하는 방법을 소개합니다.

필요한 라이브러리 설치하기

먼저, OpenCV를 설치해야 합니다. 아래 명령을 사용하여 OpenCV를 설치합니다.

pip install opencv-python

이미지에서 동영상 추출하는 코드

아래 예제 코드는 ‘video.mp4’라는 동영상 파일에서 프레임을 추출하여 ‘output’ 디렉토리에 이미지로 저장하는 코드입니다.

import cv2
import os

def extract_frames_from_video(video_path, output_dir):
    # 동영상 파일 열기
    cap = cv2.VideoCapture(video_path)

    # 프레임 수 확인
    total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
    print(f"총 프레임 수: {total_frames}")

    # 프레임을 이미지로 추출하여 저장
    frame_count = 0
    while True:
        ret, frame = cap.read()

        if not ret:
            break

        # 이미지 파일 이름
        image_path = os.path.join(output_dir, f"frame{frame_count}.jpg")

        # 이미지 저장
        cv2.imwrite(image_path, frame)

        # 다음 프레임으로 이동
        frame_count += 1

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

    print(f"프레임 추출 완료: {frame_count}개의 이미지가 저장되었습니다.")

# 동영상 파일 경로와 저장할 디렉토리 설정
video_file = "video.mp4"
output_directory = "output"

# 이미지 추출 실행
extract_frames_from_video(video_file, output_directory)

위의 코드에서는 extract_frames_from_video 함수를 사용하여 동영상 파일에서 프레임을 추출합니다. 동영상 파일 경로와 이미지를 저장할 디렉토리를 설정한 후, extract_frames_from_video 함수를 호출하여 이미지 추출을 실행합니다.

프레임을 추출한 후에는 output 디렉토리에 frame0.jpg, frame1.jpg, frame2.jpg와 같이 이미지 파일이 저장됩니다.

이 예제를 실행하면 동영상 파일에서 프레임을 추출하여 이미지로 저장할 수 있습니다.

참고 자료

이 예제에 대한 자세한 내용은 OpenCV 공식 문서를 참고하시기 바랍니다.