0

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

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

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

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

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

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

如果不是至少可以建议我一本书甚至一个领域,因为在看了很多书之后,我得到的印象是我看错了方向。

4

1 回答 1

1

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

gocr http://jocr.sourceforge.net/

克拉拉-ocr http://www.claraocr.org/

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

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

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

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

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

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

于 2013-03-20T14:29:57.260 回答