[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 공식 문서를 참고하시기 바랍니다.