微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ffmpeg VS opencv 有什么不同的视频分割?

如何解决ffmpeg VS opencv 有什么不同的视频分割?

我使用了 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 哪个方法更准确,打印结果更接近原始?

解决方法

我假设 ffmpeg 也存储 jpg 文件。在这两种方法中,您都没有指定 jpg 压缩量,因此您使用的是默认值,它们可能不同。

输出为未压缩的格式,例如 .png 以在 ffmpeg 和 opencv 中获得 100% 准确的图像。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。