algorithm - 计算机科学理论 : Image Similarity

标签 algorithm image-processing theory

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

假设我有两张图片,A 和 B,我非常想要关于每张图片的尽可能多的数据,以便以后可以通过编程方式比较它们。诸如“一般颜色”、“一般形状”之类的东西会很棒。

如果你能帮我找到特定的属性和算法来计算它们,那就太好了!

谢谢!

编辑:这里的最终目标是能够让计算机告诉我图片有多“相似”。如果两张图片相同,但有人模糊了一张脸;他们应该注册为非常相似。如果两张图片完全不同,计算机应该能够分辨出来。

最佳答案

您所说的内容非常笼统且不具体。

图像信息形式化为Entropy .

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

还有空间域和frequency domain descriptors图像的每一个在这里都是有用的。我可能可以说出 100 多个描述符,但在您的情况下,只有一个就足够了,或者一个都没有用。

预处理也很重要,也许你可以把你的图像变成灰度然后比较它们。

这个领域非常多样化,因此您需要更加具体一些。

(更新)

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

所以假设这里的问题是不识别对象并且不涉及变换、平移、缩放或旋转,我们只处理两个图像相同,但可以添加更多噪音:

1)图像域(空间域):逐个比较像素,将差的平方相加。通过宽度*高度标准化此值 - 只需除以像素数。这可能是一种有用的相似性度量。

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

关于algorithm - 计算机科学理论 : Image Similarity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4800003/

相关文章:

types - 求和类型的结构类型

c - 删除/替换字符数组中的两个或多个连续字符

python - 了解变位词检测的线性运行时实现

algorithm - 加权快速联合解释

c++ - 关于阈值技术/图像二值化的建议

java - 值的大小影响计算时间?

c++ - C++中MD5的快速实现

python - 图像中土壤颗粒分水岭以外的替代分割技术

matlab - 色调到波长映射

java - 使 java 方法仅对特定类可见