【问题标题】:Number Recoginition Algorithm/Guideline in Image Processing [closed]图像处理中的数字识别算法/指南
【发布时间】:2013-03-09 15:32:58
【问题描述】:

我正在努力学习图像处理,并在这方面为自己设定了一个目标。一个号码识别系统。

因此,我学习了 Alasdair McAndrew 的 An Introduction to Digital Image Processing with Matlab,并了解了诸如边缘检测、阈值、膨胀和腐蚀以及命中和未命中变换等内容。

现在的问题是,我很难想象这些工具将如何帮助我实现目标。

我还有许多其他关于图像处理的书籍,虽然它们都教如何腐蚀或膨胀,但没有人告诉我如果我想识别图像中的对象、数字或字符该怎么做。

这真的很令人沮丧,因为在网上查找这个问题可以得到非常笼统和广泛的答案。

谁能告诉我如何从我使用这些技术在绘画中制作的图像中识别数字。

如果不能至少给我推荐一本书甚至是一个领域,因为在看了很多书之后,我觉得我的方向错了。

【问题讨论】:

    标签: matlab opencv image-processing image-recognition object-recognition


    【解决方案1】:

    OCR 的方法太多了,可能很难推荐任何具体的方法。但目前有许多免费的 OCR 系统可用,您可以下载其中一些并查看它们如何处理字符识别。我见过的开源项目如下:

    gocrhttp://jocr.sourceforge.net/

    clara-ocr http://www.claraocr.org/

    楔形文字https://launchpad.net/cuneiform-linux(开源商业ocr引擎)

    tesseract http://code.google.com/p/tesseract-ocr/(开源商业 ocr 引擎) .

    高级ocr引擎通常的做法是同时结合几种字符识别方法,然后使用某种投票机制来选择字符的最佳匹配。

    通常所有的引擎都是从图像的聚类开始,将文本分割成单个字符。然后运行多个算法以尝试识别每个字符。例如,楔形文字 ocr 引擎使用 a) 特征检测(如字符中的笔画数),这是膨胀/等的地方。东西很有用 b) 将字符图像下采样到 15x15 大小,然后应用像识别器这样的神经网络。 c) 针对特定字符的多个临时规则。

    我认为,从神经网络或其他分类器(例如线性分类器或支持向量机分类器)开始是尝试并获得快速结果的最佳方法。

    所以在你的位置,我将从简单的字符分割算法开始 + 在数字图像数据库上训练简单的神经网络/线性/svm 分类器。 NIST 提供大型手写数字图像数据库。

    【讨论】:

    • 我正在关注的这本书 Alasdair McAndrew 的 Matlab 数字图像处理简介没有任何信息,例如如何将文本拆分为单个字符或查找字符中的笔画数。你能推荐一本我能找到这类信息的书吗?
    • 我想到的算法是一个连接组件标记算法,它似乎在 Shapiro, L. 和 Stockman, G. (2002) 一书中进行了解释。计算机视觉。 Prentice Hall,可在线获取cse.msu.edu/~stockman/Book/2002/Chapters/ch3.pdf
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    相关资源
    最近更新 更多