【问题标题】:Highlight Difference between two images突出显示两个图像之间的差异
【发布时间】:2018-01-06 05:53:35
【问题描述】:

我在回答以下堆栈溢出问题时看到了一些代码来突出显示两个图像之间的差异:Highlight differences between images。它还有一个类似实现的链接:Resemble.js GitHub Page。我试图理解“忽略更少”和“忽略抗锯齿”选项的实现。

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

【问题讨论】:

  • 感谢 Jonny Henly 让自己看起来更好。

标签: java image image-processing


【解决方案1】:

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

1) 将两个图像缩小到相同的分辨率。缩小的越多,比较就越粗略,因为你会丢失信息。我建议使用 80% 的较小图像作为缩小后两个图像的所需尺寸。

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

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

【讨论】:

  • Assafs,非常感谢您的建议。我会尝试的。我也想知道like.js中的逻辑。谢谢
  • 不幸的是,我不熟悉like.js 项目。我不确定他们使用什么算法。如果您觉得我的回答有帮助,您会考虑接受还是点赞?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-07
  • 1970-01-01
  • 1970-01-01
  • 2015-11-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多