我一直在尝试使用opencv videocapture()
python来比较视频和视频中的帧!
拍摄视频的第一帧,我们称其为frame1,当我保存视频并再次拍摄相同的第一帧时,我们将其命名为frame2
比较帧1和帧2将返回false。当我期望是真的时候。
我还将帧保存为png(无损格式)图像,并保存视频和相同的第一帧。但它们并不匹配?如何在每次处理视频时获得相同的帧opencv!Python
发布于 2018-03-05 15:38:11
我猜您将帧另存为PNG
文件,其中包含文件编码的日期和时间,因此如果您在shell中使用diff
或cmp
,这些文件看起来会有所不同。
解决方案是使用不对日期和时间进行编码的格式,例如PPM,或者使用诸如ImageMagick之类的工具,该工具允许您生成用于比较的散列,但仅针对像素数据而不是元数据:
identify -format %# someImage.png
e74164f4bab2dd8f7f612f8d2d77df17106bac77b9566aa888d31499e9cf8564
更多讨论here
发布于 2018-06-22 16:32:00
我不知道为什么它不能工作,但为了解决你的问题,我建议实现一个新的函数,即使每个像素的颜色值有很小的差异,它也会返回true。
使用适当的阈值,您应该能够排除假阴性。
https://stackoverflow.com/questions/49104023
复制相似问题