如何在较大的图像中查找已知的子图像?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (15)

有没有人知道一个算法(或搜索术语/描述)来找到一个更大的图像中的已知图像?

我有一个包含各种按钮和区域(目标)的单个桌面窗口的图像。我也有代码来捕获当前桌面的屏幕截图。我想要一个算法,它可以帮助我在更大的桌面图像中找到目标图像(窗口的精确x和y坐标)。目标图像可能位于较大图像中的任何位置,并且可能不是100%完全相同(非常相似但不完全可能是OS显示差异的b / c)

有谁知道这样的算法或算法类?

我发现了各种图像分割和计算机视觉算法,但它们似乎适合区域的“模糊”分类,而不是将特定图像定位在另一个中。

** 我的目标是创建一个框架,在给定某些种子目标图像的情况下,可以在桌面上找到“外观”,找到目标区域并“观察”它的变化。**

提问于
用户回答回答于

你说你的图像可能不完全一样,但是接着说你不想要“模糊”算法。我不确定这些是否兼容。一般来说,我认为你想看看图像配准算法。有一个名为ITK的开源C ++包,可能会提供一些提示。此外ImageJ的是一种流行的开源Java包。如果你四处寻找,这两种方法至少有一些注册功能可用。

用户回答回答于

简而言之,如果要使用傅立叶变换,可以应用以下公式:当图像A在dx上移动时,图像A与图像B之间的相关性,dy在以下矩阵中给出:C = ifft(fft(A) x共轭(fft(B)),因此,图像C中具有最高值的位置具有最高的相关性,并且该位置反映了dx,dy。

扫码关注云+社区