【问题标题】:OCR and character similarityOCR 和字符相似度
【发布时间】:2014-05-12 06:01:17
【问题描述】:

我目前正在研究某种 OCR(光学字符识别)系统。我已经编写了一个脚本来从文本中提取每个字符并清除(大部分)不规则性。我也知道字体。例如,我现在拥有的图像是:

M(http://i.imgur.com/oRfSOsJ.png(字体)和http://i.imgur.com/UDEJZyV.png(扫描))

K(http://i.imgur.com/PluXtDz.png(字体)和http://i.imgur.com/TRuDXSx.png(扫描))

C(http://i.imgur.com/wggsX6M.png(字体)和http://i.imgur.com/GF9vClh.png(扫描))

对于所有这些图像,我已经有了一种二进制矩阵(1 表示黑色,0 表示白色)。我现在想知道是否有某种类似于数学投影的公式来查看这些矩阵之间的相似性。我不想依赖图书馆,因为那不是交给我的任务。

我知道这个问题可能看起来有点模糊,并且有类似的问题,但我正在寻找方法,而不是包,到目前为止我找不到任何关于该方法的 cmets。这个问题含糊不清的原因是我真的没有开始的意义。我想要做的实际上是在维基百科上描述的:

矩阵匹配涉及逐个像素地将图像与存储的字形进行比较;它也被称为“模式匹配”或“模式识别”。 [9]这依赖于输入字形与图像的其余部分正确隔离,并且存储的字形具有相似的字体和相同的比例。此技术最适用于打字文本,但在遇到新字体时效果不佳。这是早期基于物理光电池的 OCR 实现的技术,相当直接。 (http://en.wikipedia.org/wiki/Optical_character_recognition#Character_recognition)

如果有人能帮我解决这个问题,我将不胜感激。

【问题讨论】:

    标签: math matrix ocr projection


    【解决方案1】:

    大多数 OCR 使用神经网络进行识别或分类

    这些必须正确配置为所需的任务,例如内部互连架构的层数等。神经网络的另一个问题是它们必须经过适当的训练,这很难做到,因为你需要知道适当的训练数据集大小(因此它包含足够的信息并且不要过度训练)。如果您没有神经网络方面的经验,如果您需要自己实现,请不要这样做!!!

    还有其他比较模式的方法

    1. 向量方法

      • 多边形化图像(边缘或边框)
      • compare polygons 相似度(表面积、周长、形状......)
    2. 像素法

      您可以根据以下条件比较图像:

      • 直方图
      • DFT/DCT 光谱分析
      • 尺寸
      • 每行占用的像素数
      • 每行占用像素的起始位置(左起)
      • 每行占用像素的结束位置(右起)
      • 这 3 个参数也可以用于行
      • 兴趣点列表(有一些变化的点,如强度凹凸、边缘等)

      您为每个测试字符创建功能列表并将其与您的字体进行比较,然后最接近的匹配就是您的字符。这些特征列表也可以缩放到某个固定大小(如64x64),因此识别在缩放时变得不变。

      这是我用于 OCR

      的功能示例

      在这种情况下(特征大小被缩放以适应NxN),因此每个字符都有6 数组,由N 数字组成,例如:

       int row_pixels[N]; // 1nd image
       int lin_pixels[N]; // 2st image
       int row_y0[N];     // 3th image green
       int row_y1[N];     // 3th image red
       int lin_x0[N];     // 4th image green
       int lin_x1[N];     // 4th image red
      

      现在:预先计算字体中每个字符和每个读取字符的所有特征。从字体中找到最接近的匹配

      • 所有特征向量/数组之间的最小距离
      • 不超过某个阈值差异

      这在旋转时是部分不变的,并且会倾斜到一个点。我为填充字符做 OCR 所以对于轮廓字体它可能需要一些调整

    [备注]

    为了比较,您可以使用距离或correlation coefficient

    【讨论】:

      猜你喜欢
      • 2011-12-10
      • 2013-02-24
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 2016-07-15
      • 2012-05-13
      • 2011-10-20
      • 2012-07-25
      相关资源
      最近更新 更多