我正在对一个应用程序进行截屏,并尝试检测是否之前已经出现过相同的图片。我希望能够将微小的变化视为不同 - 例如,如果图像中有文本,并且拼写发生更改,则会被视为不匹配。
我一直在成功地使用屏幕截图图像内容的MD5哈希值来查找已知图像数据库,并检测其是否已经出现过。
现在,我已经将它移植到另一台机器上,尽管我尝试了完全匹配配置,但我得到的图像与旧机器略有不同。当我说不同时,这些变化是微小的 - 如果我将旧图像和新图像放大并在它们之间切换,我看不到任何区别!尽管如此,ImageMagick的“compare”命令可以看到一些像素是不同的。
因此,我的MD5哈希值不再匹配。我需要一种image hash而不是简单的MD5哈希值。
在我的研究中,我发现大多数图像哈希都试图非常宽松——它们接受调整大小、变形和带有水印的图像,并相应地产生误报匹配。我想要一个更加严格的图像哈希——允许的唯一变化是颜色微小变化。
有人可以推荐一个图像哈希库或算法吗?(不是像dupdetector这样的应用程序。)
请记住:我的要求与许多类似问题不同,我不想要像shrinking或pHash这样的自由算法,也不想要像structural similarity或ImageMagick的compare这样的比较工具。
我想要一个哈希值,使非常相似的图像给出相同的哈希值。那真的可能吗?
我一直在成功地使用屏幕截图图像内容的MD5哈希值来查找已知图像数据库,并检测其是否已经出现过。
现在,我已经将它移植到另一台机器上,尽管我尝试了完全匹配配置,但我得到的图像与旧机器略有不同。当我说不同时,这些变化是微小的 - 如果我将旧图像和新图像放大并在它们之间切换,我看不到任何区别!尽管如此,ImageMagick的“compare”命令可以看到一些像素是不同的。
因此,我的MD5哈希值不再匹配。我需要一种image hash而不是简单的MD5哈希值。
在我的研究中,我发现大多数图像哈希都试图非常宽松——它们接受调整大小、变形和带有水印的图像,并相应地产生误报匹配。我想要一个更加严格的图像哈希——允许的唯一变化是颜色微小变化。
有人可以推荐一个图像哈希库或算法吗?(不是像dupdetector这样的应用程序。)
请记住:我的要求与许多类似问题不同,我不想要像shrinking或pHash这样的自由算法,也不想要像structural similarity或ImageMagick的compare这样的比较工具。
我想要一个哈希值,使非常相似的图像给出相同的哈希值。那真的可能吗?