gpt4 book ai didi

image-processing - 比较图像相似度的简单快速方法

转载 作者:太空宇宙 更新时间:2023-11-03 20:36:14 25 4
gpt4 key购买 nike

我需要一种简单快速的方法来比较两个图像的相似性。 IE。如果它们包含完全相同的东西但可能有一些略有不同的背景并且可能会移动/调整几个像素,我想获得一个高值。

(更具体一点,如果这很重要:一张图片是一个图标,另一张图片是屏幕截图的一个子区域,我想知道该子区域是否正是图标。)

我手头有 OpenCV,但我还是不太习惯。

到目前为止,我想到了一种可能性:将两张图片分成 10x10 个单元格,然后对这 100 个单元格中的每一个单元格,比较颜色直方图。然后我可以设置一些虚构的阈值,如果我得到的值高于该阈值,我就认为它们是相似的。

我还没有尝试过效果如何,但我想它已经足够好了。这些图像已经非常相似(在我的用例中),因此我可以使用相当高的阈值。

我想还有许多其他可能的解决方案或多或少会起作用(因为任务本身非常简单,因为我只想检测它们是否非常相似)。你有什么建议?


关于从图像中获取签名/指纹/哈希值,有一些非常相关/相似的问题:

此外,我偶然发现了这些具有获取指纹功能的实现:

关于感知图像哈希的一些讨论:here


有点跑题:创建音频指纹的方法有很多种。 MusicBrainz ,一个提供基于指纹的歌曲查找的网络服务,有一个good overview in their wiki .他们正在使用 AcoustID现在。这是为了找到精确(或大部分精确)匹配。要查找相似的匹配项(或者如果您只有一些片段或高噪音),请查看 Echoprint .一个相关的 SO 问题是 here .所以这似乎是针对音频解决的。所有这些解决方案都非常有效。

一般来说,关于模糊搜索的一个更通用的问题是 here .例如。有locality-sensitive hashingnearest neighbor search .

最佳答案

屏幕截图或图标是否可以变形(缩放、旋转、倾斜……)?我想到了很多可能对您有所帮助的方法:

  • @carlosdc 提到的简单欧氏距离(不适用于转换后的图像,您需要一个阈值)。
  • (Normalized) Cross Correlation - 可用于比较图像区域的简单指标。它比简单的欧氏距离更稳健,但不适用于转换后的图像,您将再次需要一个阈值。
  • 直方图比较 - 如果您使用归一化直方图,此方法效果很好并且不受仿射变换的影响。问题是确定正确的阈值。它还对颜色变化(亮度、对比度等)非常敏感。您可以将它与前两者结合起来。
  • 显着点/区域检测器 - 例如MSER (Maximally Stable Extremal Regions) , SURFSIFT .这些是非常强大的算法,它们对于您的简单任务来说可能太复杂了。好处是您不必只有一个图标的确切区域,这些检测器功能强大,足以找到正确的匹配项。本文对这些方法进行了很好的评估:Local invariant feature detectors: a survey .

其中大部分已经在 OpenCV 中实现 - 例如参见 cvMatchTemplate 方法(使用直方图匹配):http://dasl.mem.drexel.edu/~noahKuntz/openCVTut6.html .突出点/区域检测器也可用 - 请参阅 OpenCV Feature Detection .

关于image-processing - 比较图像相似度的简单快速方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4196453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com