仅通过二进制大小检测图像变化



更改单个像素会影响图像文件的二进制大小。我很好奇比较两张照片的二进制大小是否足以检测到变化!会有假阳性结果吗?此解决方案的可靠性如何?

我比较的图像是"PNG"格式的,它们是来自同一来源的快照,所以质量和尺寸是相同的,但像素可能不同。

我知道像pixelmatchimg-diff-js这样的库,但它们对我来说太慢了,而且我不需要大量的差异发现;只要是真/假就足够了。

假设PNG文件由同一系统获取和压缩,则大多数文件的大小大致相同。一个小的变化可能会导致包含的图像变长或变短一个字节,但会有很多不同的图像具有完全相同的文件大小。

但是,要找到相同的图像,您不需要解压缩PNG文件,相同图像的压缩数据是相同的,不同图像的数据不同。此外,只需逐字节比较文件,就会知道它们是否包含相同的图像。

然而,这仅适用于相同的图像。如果我们谈论的是一台产生图像流的相机,而你想知道场景中是否发生了变化,那么你仍然需要比较解压缩的图像。这是因为数据将包含噪声,并且噪声将导致压缩文件不完全相同。您无法从压缩文件中判断更改是由于噪音还是更重要的更改。在这种情况下,您将不得不解压缩图像,并将它们与一些容差进行比较。

相关内容

  • 没有找到相关文章

最新更新