【发布时间】:2021-07-23 08:56:03
【问题描述】:
我使用 opencv 和 ffmpeg 来完成视频的取景工作。
opencv
import cv2
# 영상의 의미지를 연속적으로 캡쳐할 수 있게 하는 class
vidcap = cv2.VideoCapture("D:/godzillakingofmonster/GodzillaKingOfMonsters_clip.mkv")
count = 0
while(vidcap.isOpened()):
# read()는 grab()와 retrieve() 두 함수를 한 함수로 불러옴
# 두 함수를 동시에 불러오는 이유는 프레임이 존재하지 않을 때
# grab() 함수를 이용하여 return false 혹은 NULL 값을 넘겨 주기 때문
ret, image = vidcap.read()
# 캡쳐된 이미지를 저장하는 함수
print("D:/godzillakingofmonster/frame/frame%d.jpg" % count)
cv2.imwrite("D:/godzillakingofmonster/frame/frame%d.jpg" % count, image)
print('Saved frame%d.jpg' % count)
count += 1
vidcap.release()
ffmpeg
ffmpeg -i \"{target_video}\" \"{save_folder_path}/{media_name}_%08d.{exp}\"
我想知道这两种方法中的哪一种会为您提供更准确的结果。
当一个帧被分割时,另一个帧被保存。为什么会有不同的结果?
ffmpeg 和 opencv 哪个方法更准确,打印的结果更接近原始?
【问题讨论】:
标签: python image opencv video ffmpeg