【问题标题】:Compare frames from videos opencv python比较来自视频opencv python的帧
【发布时间】:2018-03-05 05:32:21
【问题描述】:

我一直在尝试比较使用 opencv videocapture() python 从视频中获取的帧中的视频!

从视频中获取第一帧,我们称之为 frame1,当我保存视频并再次拍摄相同的第一帧时,我们称之为 frame2

比较第 1 帧和第 2 帧返回 false。当我期待真实的时候。

我还将帧保存为 png(无损格式)的图像,并保存了视频和相同的第一帧。但他们不匹配?如何在处理视频opencv时每次都获得相同的帧!蟒蛇

【问题讨论】:

  • 请贴一些代码;会帮助我们回答
  • 真的没有任何代码需要担心.. @frank 这是关于使用opencv加载时帧不一样的问题。第一次是一个,在另一个视频中相同的帧是不同的
  • 你确定它们不是同一个框架吗?你是看他们的,还是只是用代码来比较两者?
  • 我的回答解决了你的问题吗?如果是这样,请考虑接受它作为您的答案 - 通过单击计票旁边的空心对勾/复选标记。如果没有,请说出什么不起作用,以便我或其他人可以进一步帮助您。谢谢。 meta.stackexchange.com/questions/5234/…

标签: python opencv


【解决方案1】:

我猜您将帧保存为 PNG 文件,其中包含文件编码的日期和时间,因此如果您使用 diffcmp外壳。

解决方案是使用不编码日期和时间的格式,例如 PPM,或者使用诸如 ImageMagick 之类的工具,它允许您生成哈希以进行比较,但仅限于像素数据而不是元数据:

identify -format %# someImage.png
e74164f4bab2dd8f7f612f8d2d77df17106bac77b9566aa888d31499e9cf8564

更多讨论here

【讨论】:

    【解决方案2】:

    我不知道为什么它不起作用,但为了解决您的问题,我建议实现一个新函数,即使每个像素颜色值存在微小差异,它也会返回 true。

    使用适当的阈值,您应该能够排除假阴性。

    【讨论】:

      猜你喜欢
      • 2019-05-04
      • 2020-01-26
      • 2017-08-11
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多