检测略有不同的图像 - 是否有感知哈希和差异哈希的Java实现?

4

我正在研究一种检测相似和略有不同媒体图像的解决方案。

我已经阅读了很多关于处理图像的技术的文章,例如 - 图像比较 - 快速算法

  1. 基于文件哈希(md5、sha1等) - 尝试过,对于完全相似的内容效果良好。

  2. 用于重新缩放图像的感知哈希(phash) - 寻找一个与phash.org提供的准确度一样高的Java实现。有一个Java解决方案在http://pastebin.com/Pj9d8jt5中提供,但据报道存在误报,我还没有尝试过。

  3. 用于修改后的图像的特征点(SIFT) - 寻找一些示例代码来开始启动。

如果有其他建议,请分享。

1个回答

5

回答问题的第2点。我还没有检查过这些pHash实现中的任何一个,但它们中可能有一个是准确的:

Java pHash https://github.com/krishnact/jphash

另一个 Java pHash https://github.com/thomasheckmann/image-indexer

Java(Android)pHash https://github.com/gavinliu/SimilarPhoto

Groovy pHash https://github.com/mdbishop/ImagePHash

Scala pHash https://gist.github.com/Howon/7db1239355841a71ffa9

另一个 Scala pHash https://github.com/warricksothr/ImageTools/blob/master/engine/src/main/scala/com/sothr/imagetools/engine/hash/PHash.scala


谢谢回复,我设法找到了一些启动代码。我特别发现Elliot Shepherd的pHash实现(基于http://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html博客)https://gist.github.com/6e20342198d4040e0bb5非常有用。然而,该算法肯定需要改进以避免误报。 - Sumeet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接