我在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 ....
然后我将使用与Basic OCR教程相同的方法:http://blog.damiles.com/?p = 93
但是,我正在为iPhone编程,不能使用C++代码(编译时出错等),我无法访问highgui.
我尝试使用cvMatchTemplate()并匹配一堆图像,但它看起来很糟糕......
我可以尝试其他任何想法吗?
您可以从阅读主成分分析(PCA),Fisher线性判别分析(LDA)和支持向量机(SVM)开始.这些是对OCR非常有用的分类方法,并且有任何语言的库,包括C++,Python,C#等.
事实证明,OpenCV已经在PCA和SVM上实现了出色的实现.我还没有看到任何针对OCR的OpenCV代码示例,但您可以使用某些修改版的面部分类来执行字符分类.这个网站是OpenCV人脸识别代码的绝佳资源.