1

我的任务是识别文档图像中的字符补丁。考虑下图:

在此处输入图像描述

根据论文,为了提取字符块,将采用基于 MSER 的方法来检测字符候选。

“基于 MSER 的方法的主要优点是即使文档图像质量低,这种算法也能够找到最清晰的字符。”

一篇论文讨论了 MSER。我很难理解后一篇论文。谁能简单地向我解释MSER在示例文档中实施和提取字符补丁应采取的步骤。我将在 Python 中实现它,我需要完全掌握/理解 MSER 的工作原理。

以下是识别图像文档中字符补丁的步骤(根据我的理解,如果我错了,请纠正我)

  1. “首先,像素按强度排序”

    我的理解:

    例如,我在图像中有 5 个像素的强度(Pixel 1) 1, (Pixel 2) 9,(Pixel 3) 255,(Pixel 4) 3,(Pixel 5) 4连续,然后如果越来越多地排序,基于强度它将产生一个输出,Pixel 1,4,5,2 and 3.

  2. 排序后,像素被放置在图像中(以递减或递增的顺序),并使用有效的联合查找算法维护连接组件及其区域的列表。

    我的理解:

    使用编号 1 中的示例。像素将按如下方式排列。像素组件/组和图像 X、Y 坐标只是示例。

     Pixel Number | Intensity Level | Pixel Component/Group | Image X,Y Coordinates
          1       |        1        |  Pixel Component # 5 | (14,12)
          4       |        3        |  Pixel Component # 1 | (234,213)
          5       |        4        |  Pixel Component # 2 | (231,14)
          2       |        9        |  Pixel Component # 3 | (23,21)
          3       |      255        |  Pixel Component # 1 | (234,214)
    
  3. “该过程产生了一个数据结构,将每个连接组件的面积存储为强度的函数。”

    我的理解:

    将在 #2 的表中添加一列,称为Area. 它将计算具有相同强度级别的特定组件中的像素数。它就像组件组内具有相同强度级别的像素的聚合。

    4.“最后,选择区域函数变化率的局部最小值的强度水平作为产生 MSER 的阈值。在输出中,每个 MSER 由局部强度最小值(或最大值)和阈值的位置表示。 "

如何获得面积函数变化率的局部最小值?

请帮助我了解这是什么以及如何实施 MSER。请随时纠正我的理解。谢谢。

4

1 回答 1

1

在一篇文章中,作者跟踪了一个他们称之为“稳定性”的值(大致表示在他们的数据结构中从一个区域到另一个区域时区域的变化率),然后找到与该值的局部最小值相对应的区域(局部最小值是感兴趣的值小于最近邻值的点)。如果这有任何帮助,这里是 MSER 的 C++ 实现(基于另一篇文章)。

于 2020-06-08T16:20:19.327 回答