所以我正在尝试对不同的图像进行比较,并且想知道是否有人可以指出我正确的方向,我可以为图像组采取一些基本指标。
假设我有两个图像,A和B,我几乎想要尽可能多的数据,所以我可以稍后以编程方式比较它们。像“一般颜色”,“一般形状”等等都会很棒。
如果你能帮我找到特定的属性和算法来计算它们就会很棒!
谢谢!
编辑:这里的最终目标是能够让计算机告诉我图片的“相似”程度。如果两个图像相同但在一个人中模糊了一张脸;他们应该注册相当类似。如果两张图片完全不同,那么电脑应该可以告诉你。
答案 0 :(得分:5)
你所谈论的是非常普遍和非特定的。
图像信息形式化为Entropy。
您似乎正在寻找的基本上是特征提取,然后比较这些功能。有大量的功能可以提取,但根据图片的不同,很多功能可能无关紧要。
图像中有空间域和frequency domain descriptors,每个都可以在这里使用。我可以命名超过100个描述符,但在你的情况下,只有一个可能就足够了,或者没有一个可用。
预处理也很重要,也许您可以将图像转换为灰度,然后进行比较。
此字段非常多样化,因此您需要更加具体。
您正在寻找的是数百甚至数千篇科学文章的主题。但是,也许一种简单的方法可以起作用。
所以假设这里的问题是没有识别对象,并且没有涉及转换,转换,缩放或旋转,我们只处理两个图像同样的,但可能会有更多的噪音:
1)图像域(空间域):逐个比较像素并加上差异的平方。将此值标准化为宽度*高度 - 仅除以像素数。这可能是衡量相似性的有用方法。
2)频域:将图像转换为频域图像(在OpenCV等图像处理工具中使用FTT),这也是2D。像上面那样做上面的平方差异,但也许你想限制频率。然后通过像素数归一化。这在噪音和平移以及小幅旋转方面表现更好,但规模不大。
答案 1 :(得分:1)
答案 2 :(得分:1)
您还可以计算这两个图像的直方图区间之间的差异总和。但它也不是一颗银弹......
答案 3 :(得分:1)
我建议您查看OpenCV。该软件包提供了上述大多数(如果不是全部)技术。