更改单个像素会影响图像文件的二进制大小。我很好奇,比较两张照片的二进制大小是否足以检测到变化!会有假阳性的结果吗?这个解决方案的可靠性如何?
我比较的图像是'PNG‘格式,它们是来自相同来源的快照,所以质量和尺寸是相同的,但像素可能不同。
我知道像pixelmatch和img-diff-js这样的库,但是对于我的目的来说,它们太慢了,而且我不需要大量的diff结果;只需要true/false就足够了。
发布于 2021-11-20 17:36:21
假设由同一系统获取和压缩的PNG文件,大多数文件将具有大致相同的大小。一个小的改变可能会导致组成的图像更长或更短一个字节,但将有许多,许多不同的图像具有完全相同的文件大小。
但是要找到相同的图像,你不需要解压缩PNG文件,压缩后的数据对于相同的图像是相同的,对于不同的图像是不同的。此外,只需逐个字节比较文件,就可以知道它们是否包含相同的图像。
然而,这只适用于相同的图像。如果我们谈论的是摄像机产生的图像流,而你想知道场景中是否有什么变化,那么你仍然需要比较解压缩的图像。这是因为数据将包含噪声,而噪声将导致压缩文件不同。而且你不能从压缩文件中看出变化是由噪音引起的,还是更重要的变化。在这种情况下,您将不得不解压缩图像,并将它们与一些容差进行比较。
https://stackoverflow.com/questions/70046121
复制相似问题