用于比较图像相似性的 Java 库 [已关闭]

2022-08-31 17:40:49

我花了相当多的时间研究一个库,它允许我在Java中相互比较图像。

我真的没有发现任何有用的东西,也许我的GoogleSearch技能不够高,所以我想我会问你们是否可以为我指出一个方向,我可以找到这样的东西。

基本上,我想做的是将两个图像相互比较,并获得两者之间相似程度的值。比如一个百分比左右。

我希望你们有我可以使用的东西,我自己不知道如何写这样的东西......

PS:它不一定是Java,这只是我的应用程序将要运行的环境。


答案 1

你可以看看SO本身的两个答案:这个是关于图像比较本身的,提供指向C++内容的链接(如果我没看错的话),而这个答案提供了指向更广泛方法的链接,一个是C语言

我建议从第二个链接开始,因为该讨论中有一些链接,这些链接将导致一些相关技术的实现代码,您可以自己将其“翻译”到Java中。

这是我的谷歌技能能做的最好的,虽然没有Java - 对不起。我希望这是一个很好的起点!

编辑:这里有一个有你问题的人,他用Java编写了自己的比较类。我没有阅读源代码。他明确表示,他也找不到用于此目的的Java库,所以这就是他自己编写它的原因。

哦,关于SO的这个问题可能是最好的链接,都是关于图像处理的Java库。希望他们中有一个可以比较图像的相似性。

好的,最后一次编辑:Java图像处理食谱显示了一个基本算法的Java实现,以确定两张图片之间的差异。它还具有一封电子邮件,可以联系编写它的人以及许多参考资料。虽然没有图书馆。

在阅读了您对问题的评论后进行编辑:除非您已经检查了上述所有链接,否则由于您想要的似乎是检查两个图像是否相等,因此我建议从Java图像处理说明书(因为它在Java中实现了算法以检查相等的图像)和SO问题的最后一个链接开始。另外,检查PerceptualImageDiff和该项目的源代码(C++);这听起来非常漂亮 - 它显然应该检查两个图像看起来是否等于人类视觉系统


答案 2

在我的头顶上,OpenCV是一个很棒的图像处理库,但如果你只是想比较图像,它可能有些大材小用。如果是这样的话,我会选择ImageJ

有人已经在这里问过如何使用OpenCV做到这一

我会使用C++,但是如果你必须使用Java,这里有一个项目为OpenCV制作了一个Java包装器。


推荐