突出显示两个图像之间的差异

时间:2017-07-30 17:27:13

标签: java image image-processing

我看到了一些代码代码,以便在回答以下Stack Overflow问题时强调两个图像之间的差异:Highlight differences between images。它还有一个类似实现的链接:Resemble.js GitHub Page。我试图了解实施情况"忽略更少"并且"忽略抗锯齿"选项。

基本上,我有一个场景,在两个不同的操作系统上创建图像。图像的分辨率可能不同,或者操作系统本身(如Windows和Linux)可能会以某种方式改变图像。但总的来说,人眼的图像是一样的。我想知道它们是否相似,比如说至少80%。

1 个答案:

答案 0 :(得分:1)

您提到的解决方案表明您可以比较两个大小相同的图像。由于您对比较不同分辨率(相同比例)的图像感兴趣,包括忽略人眼的一些小差异,例如抗锯齿,我建议您执行以下操作:

1)将两张图像降低到相同的分辨率。缩小规模越大,比较越粗糙,因为您将丢失信息。我建议在缩小后将80%的较小图像用作两个图像的所需大小。

2)逐个像素地运行比较。您也可以查看相邻像素,判断像素是否相似 - 以及它们的直接环境是否相似。

通过比较缩小的图像,在缩小过程中将消除/减少诸如抗锯齿的微小差异,并且对比较的干扰较小。由于您希望击败的标准是人眼差异,这可能就足够了。