2011-06-04 99 views
2

我真的需要你的帮助,我绝望。帮助OCR应用程序 - Matlab

我试图建立一个OCR应用程序,我面对的,我不能独自解决一些问题。 现在我正在切割图像并进行一些滤波以减少噪音。 例如,这是从图像中切后和滤波后的板:

enter image description here

现在因为该板是在角度和,因为这仍然有噪声(如数字9和3的上方),识别过程(使用corr2)给我错误的数字。

例如:

enter image description here

你看到的唯一问题是在数字9和3(在左侧),其中所述噪声是令人不安的。

我认为拉伸图像,使每一个号码适合所有方(没有黑线在顶部),但我找不到任何方法来做到这一点,它会为每个图像的工作。

编辑:这是来自CORR2功能的结果,我用红色标注的数字9和3 enter image description here

,请给我一个想法或工作方案的结果...

任何帮助将不胜感激。

+1

只是一个提示,卷积不是特别坚固的或有效的这个问题的方法。您应该研究机器学习主题,如神经网络或支持向量机。很多在这里的相关信息的:http://stackoverflow.com/questions/850717/what-are-some-popular-ocr-algorithms – so12311 2011-06-04 19:08:09

+0

考虑模糊训练图像(假设第二行是你的训练模板),从而使*数字笔划的黑暗*和*厚度*与您的输入类似。至于第一个数字(9错误识别为1),你确定它的相关性是正的吗?对于这个特定的输入,你能列出它与所有模板的相关性(从0到9),以便我们看到它被误认为有多接近?最后,你也可以尝试[线性判别分析](http:// en。wikipedia.org/wiki/Linear_discriminant_analysis)或Eigenface,这是一个更简单的起点。 – rwong 2011-06-04 20:35:12

+0

@rwong我已经更新了这个问题,谢谢。 – 2011-06-05 08:55:40

回答

1

您可以预先过程中,你在前面的问题张贴的图像:

enter image description here

的东西,如:(在数学代码)

Dilation[ 
    DeleteSmallComponents[ 
     Pruning[ 
      [email protected] 
       Binarize[ 
        ColorSeparate[ 
         [email protected], "HSB"][[3]], 
       .92], 
     10], 
    30], 
3] 

结果:

enter image description here

现在你řOCR应该通过没有太多的麻烦,像这样的:

enter image description here

编辑

一步一步的过程发布in your other question