计算机科学理论:形象相似性

时间:2011-01-25 23:27:36

标签: algorithm image-processing theory

所以我正在尝试对不同的图像进行比较,并且想知道是否有人可以指出我正确的方向,我可以为图像组采取一些基本指标。

假设我有两个图像,A和B,我几乎想要尽可能多的数据,所以我可以稍后以编程方式比较它们。像“一般颜色”,“一般形状”等等都会很棒。

如果你能帮我找到特定的属性和算法来计算它们就会很棒!

谢谢!

编辑:这里的最终目标是能够让计算机告诉我图片的“相似”程度。如果两个图像相同但在一个人中模糊了一张脸;他们应该注册相当类似。如果两张图片完全不同,那么电脑应该可以告诉你。

4 个答案:

答案 0 :(得分:5)

你所谈论的是非常普遍和非特定的。

图像信息形式化为Entropy

您似乎正在寻找的基本上是特征提取,然后比较这些功能。有大量的功能可以提取,但根据图片的不同,很多功能可能无关紧要。

图像中有空间域和frequency domain descriptors,每个都可以在这里使用。我可以命名超过100个描述符,但在你的情况下,只有一个可能就足够了,或者没有一个可用。

预处理也很重要,也许您可​​以将图像转换为灰度,然后进行比较。

此字段非常多样化,因此您需要更加具体。

(更新)

您正在寻找的是数百甚至数千篇科学文章的主题。但是,也许一种简单的方法可以起作用。

所以假设这里的问题是没有识别对象,并且没有涉及转换,转换,缩放或旋转,我们只处理两个图像同样的,但可能会有更多的噪音:

1)图像域(空间域):逐个比较像素并加上差异的平方。将此值标准化为宽度*高度 - 仅除以像素数。这可能是衡量相似性的有用方法。

2)频域:将图像转换为频域图像(在OpenCV等图像处理工具中使用FTT),这也是2D。像上面那样做上面的平方差异,但也许你想限制频率。然后通过像素数归一化。这在噪音和平移以及小幅旋转方面表现更好,但规模不大。

答案 1 :(得分:1)

SURF是比较图像的良好候选算法

Wikipedia Article

一个实际的例子(在Mathematica中),识别两个月亮图像中的对应点(旋转,着色和模糊):

enter image description here

答案 2 :(得分:1)

您还可以计算这两个图像的直方图区间之间的差异总和。但它也不是一颗银弹......

答案 3 :(得分:1)

我建议您查看OpenCV。该软件包提供了上述大多数(如果不是全部)技术。