对于某些图像,pHash会产生奇怪的结果

时间:2014-02-07 17:53:48

标签: image-processing phash

我无法理解一些pHash结果。

两张非常相似的图像根据pH值只有75%:

first image& second image

这两个应该 nothing 的图像共有78%的相似度:

first image& second image

有什么我可以做错的吗?我正在使用ruby库(Similie,pHash,Phashion),但它们只是映射了pHash函数。在其他一些例子中,结果令人满意。

1 个答案:

答案 0 :(得分:3)

我认为结果可以解释:

对于第一对图像,主要"攻击"在图像上是重新构图,它显着改变了创建dct哈希的频率数据。这是dct哈希方法的一个已知弱点,并在pHash网站上有记录。

"相似性"第二对图像的结果可能是小文件大小的结果,以及其中一个图像中单个颜色的大块。在我的主观经验中,这些类型的文件经常导致奇怪的相似性。弹出。 (品牌图片对我来说有问题)。不幸的是,我无法解释这种意想不到的行为。

使用多种散列方法(如墨西哥帽或径向)和较大的源文件(如果有)可以帮助减少错误匹配"率。

<强>更新

我已经尝试过在ImageMagick中新发布的phash功能。它允许您使用命令行调用compare -metric phash image1 image2 diffimage来区分两个图像。

使用此工具,第一组(相似)图像的相似性得分为19.78,而明显不同图像的得分为258.58。该值建议为&#34;匹配阈值&#34;这个pHash方法包含了颜色信息,与dct哈希不同。

此处有关新功能的信息:http://www.fmwconcepts.com/misc_tests/perceptual_hash_test_results_510/index.html