在图像中找到相似区域的好算法?

时间:2014-12-20 23:28:43

标签: image algorithm search image-processing

我想在两张图片中搜索类似的区域,但我不知道什么效果最好。 这些区域不会以任何方式缩放或转换,但可能出现在两个图像中的任何位置(我想知道在哪里)。他们周围还有其他的东西。

这是我想要的一个例子:

two images with overlap showing

我该怎么做?

1 个答案:

答案 0 :(得分:2)

  1. 细分图片

    获取已找到区域的绑定矩形/多边形/蒙版

  2. 每个地区的
  3. 计算

    • 直方图
    • FFT DCT 并过滤掉无关紧要的数据(主要是高频...类似于JPEG编辑)
    • 尺寸(宽度,高度,面积,周长......)
  4. 查找匹配

    比较图像之间的每个区域。处理来自#2 的数据作为单个数据集,并根据以下内容计算比较区域之间的相似性:

  5. 对于特定图片,您可以创建自己的自定义比较

    • 例如,这里是OCR
    • 的我的
    • 如果您想要相同尺寸,则可以轻松添加尺寸+/-某些阈值
    • 的比较
  6. 提高精确度

    您可以将每个区域划分为少数几个子区域,并计算#2 ,以便他们拥有更强大的数据集,但要注意旋转。

    此外,如果您的细分基于颜色均匀系数,那么您也可以将其包含在数据集中

  7. 旋转图片

    为此你需要在旋转时使用独立的功能,如:

    • 直方图
    • 颜色均匀性
    • 使用不同于旋转的子区域的形状,如同心圆...

    或找到基本特征/边缘并旋转一个图像以匹配另一个位置......

  8. <强>多边形

    对于多边形图像,您可以将图像矢量化为矢量形式,然后使用任何polygon comparison算法