我有一堆 PNG 图片,我正在寻找一种方法来识别重复项。我所说的重复是指两个 PNG 文件,其未压缩图像数据相同,但文件不一定相同。这意味着我不能做一些简单的事情,比如比较 CRC 哈希值。
我认为这实际上可以可靠地完成,因为 PNG 使用无损压缩,但我担心速度。我知道我可以通过先测试相等的尺寸来缩小一些范围,但是当需要实际比较图像时,有什么方法可以合理有效地进行吗? (即比“double-for-loop checking pixel values against each other”暴力法更快?)
最佳答案
- 按相同的图像大小(宽度和高度)过滤
- 打开文件
- 散列未压缩的内容(md5 可能会这样做)
存储哈希
比较散列以找到相同的散列
关于algorithm - 有什么简单的方法可以测试两个 PNG 是否相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2488255/