图像处理中的数字识别算法/指南

时间:2013-03-20 13:42:04

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

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

所以我参加了Alasdair McAndrew的Matlab数字图像处理简介,并学习了边缘检测,阈值处理,膨胀和侵蚀以及命中和未命中变换等事项。

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

我还有其他一些关于图像处理的书籍,虽然每个人都教过如何侵蚀或扩张,但如果我想识别图像中的物体,数字或字符,没有人告诉我该怎么做。

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

任何人都可以告诉我如何使用这些技术识别我在油漆中制作的图像中的数字。

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

1 个答案:

答案 0 :(得分:1)

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

gocr http://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提供大型手写数字图像数据库。