opencv自带一个字符识别的例子,它的重点不是OCR字符识别,而主要是演示机器学习的应用。它应用的是UCI提供的字符数据(特征数据)。
DAMILES在网上发布了一个应用OpenCV进行OCR的例子, http://blog.damiles.com/2008/11/basic-ocr-in-opencv/。
这些例子都只能用于学习OpenCV或熟悉OCR的简单流程,因为它们与当前比较专业的OCR引擎的识别率相去甚远。
这里写下OpenCV下OCR的流程:
1. 特征提取
2. 训练
3. 识别
特征提取
1. 在图像预处理后,提取出字符相关的ROI图像,并且大小归一化,整个图像的像素值序列可以直接作为特征。damiles是直接将整个字符图像转换化为vector向量特征作为特征输入的。
2. 但直接将整个图像作为特征数据维度太高,计算量太大,所以也可以进行一些降维处理,减少输入的数据量。拿到字符的ROI图像,二值化。将图像分块,然后统计每个小块中非0像素的个数,这样就形成了一个较小的矩阵,这矩阵就是新的特征了。

这篇博客介绍了如何利用OpenCV进行OCR字符识别,包括特征提取、训练和识别的流程。通过UCI数据集和DAMILES的例子展示OCR的基本步骤,强调特征降维和机器学习方法如KNearest。虽然OpenCV自带的识别率不高,但提到tesseract是一个高效的开源OCR引擎,其样本库包含大量标准印刷体字符,表明大量有效样本数据对于提高识别率的重要性。
最低0.47元/天 解锁文章
2261

被折叠的 条评论
为什么被折叠?



