我在iPhone上使用iPhone,需要检测图像中的数字。我将图像分割成较小的图像,因此每个图像只有一个数字(1-9)。所有的数字都是打印出来的,不是手写的。
用OpenCV计算数字的最佳方法是什么?
更新:
我已经成功地找到了数字并提取了它们。它们看起来是这样的:
http://img198.imageshack.us/img198/5671/101ht.jpg
http://img824.imageshack.us/img824/539/606yu.jpg
当它们被提取时,它们大小相同,依此类推。我保存了一堆图像,并将它们放在OCR dir中,在那里它们被分类为数字。类似: ocr/1/100.jpg 101.jpg.和ocr/2/200.jpg 201.jpg.
然后,我将使用与基本OCR教程中相同的方法:http://blog.damiles.com/?p=93
但是,我正在为iPhone编程,不能使用C++代码(编译错误等等),也无法访问highgui。
我试过使用cvMatchTemplate()并匹配一组图像,但它似乎运行得很糟糕.
还有其他我可以尝试的想法吗?
发布于 2012-05-23 20:09:25
您可以从阅读主成分分析(PCA)、Fisher的线性鉴别分析(LDA)和支持向量机(SVMs)开始。这些分类方法对于OCR非常有用,在任何语言中都有库,包括C++、Python、C#等。
事实证明,OpenCV已经包括了PCAs和支持向量机上的优秀实现。我还没有看到OCR的任何OpenCV代码示例,但是您可以使用一些修改过的面部分类版本来执行字符分类。用于OpenCV的人脸识别代码的一个优秀资源是本网站。
发布于 2012-03-10 15:15:00
如果数字是打印出来的,工作很简单,你只需要找出一套很好的功能来匹配。如果数字是一种字体,则可以采用以下方法:
以上都是基本的OpenCV操作。
发布于 2012-01-10 14:33:48
基本上,您的问题只是对一个特征向量进行分类,这是经过一些预处理步骤后的像素强度集合。你可以使用任何分类器来完成这个任务,比如。神经网络,它应该在OpenCV内部有一个C实现。您还可以尝试使用用于支持向量机的library库。
有一个与这个问题相关的好场地,有大量的论文和培训数据库。
https://stackoverflow.com/questions/5873566
复制相似问题