image-processing - OpenCV 检测数字

标签 image-processing opencv ocr

我在 iPhone 上使用 OpenCV,需要检测图像中的数字。我将图像拆分为较小的图像,因此每个图像只有一个数字 (1-9)。所有数字都是打印的,而不是手写的。

使用 OpenCV 计算数字的最佳方法是什么?

更新:

我已经成功地找到了数字并提取了它们。它们看起来像这样:

http://img198.imageshack.us/img198/5671/101ht.jpg
http://img824.imageshack.us/img824/539/606yu.jpg

当它们被提取出来时,它们的大小是一样的等等。我保存了一堆图像并将它们放在 OCR 目录中,在那里它们被分类为数字。喜欢:ocr/1/100.jpg 101.jpg....和ocr/2/200.jpg 201.jpg....

然后我将使用与基本 OCR 教程中相同的方法:http://blog.damiles.com/?p=93

但是,我正在为 iPhone 编程,不能使用 C++ 代码(编译错误等),而且我无权访问 highgui。

我尝试使用 cvMatchTemplate() 并匹配一堆图像,但它似乎工作得很糟糕......

我可以尝试其他任何想法吗?

最佳答案

您可以先阅读主成分分析 (PCA)、Fisher 线性判别分析 (LDA) 和支持向量机 (SVM)。这些是对 OCR 非常有用的分类方法,并且有任何语言的库,包括 C++、Python、C# 等。

事实证明,OpenCV 已经包含了关于 PCAs 的优秀实现。和 SVMs [死链接]。我还没有看到任何用于 OCR 的 OpenCV 代码示例,但是您可以使用一些修改版本的人脸分类来执行字符分类。 OpenCV 人脸识别代码的一个极好的资源是 this website [无效链接]。

关于image-processing - OpenCV 检测数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5873566/

相关文章:

opencv - 使用 Surf 进行目标检测

python - 在 Opencv python 中使用 MSER 从图像中提取文本

c++ - 计算 opencv 二值图像中的 'white' 个像素(高效)

c++ - 如何裁剪带有与源图像边界重叠的矩形的开放式 CV 矩阵

c++ - opencv:将 Mat 转换为 IplImage 问题

python - 如何将圆形图像裁剪为内切正方形,然后裁剪为内切圆,最后裁剪为内切正方形?

c++ - 14 段显示和 Tesseract OCR with OpenCV

ocr - 哪种OCR引擎更好:Tesseract或OCRopus?

python - pyplot 显示不良,图像太暗

python - 高效的OCR微调