是否可以比较具有不同分辨率的两张图像?
我的意思是这里有一些算法/编程方法。例如,现在我从图像的字节数组中计算哈希码并比较这些哈希码值。这是很好的工作,但在不同分辨率的情况下会失败,即图像在眼睛上是相同的,但字节内容不同。
例如看我的图片附件:
其中一个有72 ppi,但另一个有96 ppi。我想在比较相等时获得TRUE值,但现在我得到FALSE。请帮助在这里找到正确的解决方案。
是否可以比较具有不同分辨率的两张图像?
我的意思是这里有一些算法/编程方法。例如,现在我从图像的字节数组中计算哈希码并比较这些哈希码值。这是很好的工作,但在不同分辨率的情况下会失败,即图像在眼睛上是相同的,但字节内容不同。
例如看我的图片附件:
其中一个有72 ppi,但另一个有96 ppi。我想在比较相等时获得TRUE值,但现在我得到FALSE。请帮助在这里找到正确的解决方案。
在进入更复杂的领域之前,您可以尝试两种非常简单的感知散列方法,它们基于离散余弦变换和图像的局部与全局均值:
将图像转换为灰度
1.1(编辑)使您的图像零均值
这个主题的一个变体是
另外,看看phash。
对于具有几种不同颜色的合成图像,我将从直方图匹配开始。
基本上将每个图像中每种颜色的像素数相加,然后除以像素总数。然后你有一个简单的浮点向量作为指纹。如果您希望具有更多或更少边框的图像算作匹配,则可以忽略白色
它不会检测到重新排列切片的相同图像,或者文本向下移动一行,但我认为这不是这种情况下的问题