opencv_contrib自带的OCR处理用例共有6个,其中end_to_end_recognition、segmented_word_recognition可以使用tesseract库。
01 资源
OpenCV自带的字符识别用例,opencv_contrib\modules\text\samples\character_recognition.cpp。character_recognition.cpp识别图片中的单个字符。
模型文件(需要拷贝到Debug或Release目录中):
opencv_contrib/modules/text/samples/OCRBeamSearch_CNN_model_data.xml.gz
测试图片:
opencv_contrib/modules/text/samples/scenetext_char01.jpg
opencv_contrib/modules/text/samples/scenetext_char02.jpg
opencv_contrib/modules/text/samples/scenetext_char03.jpg
02 编译character_recognition
参考opencv01 相对完整的编译opencv3.3.0 win版本,编译opencv3.3.0 vs2015版本。
生成文件:D:\git\opencv\build\v3.3.0\x64\bin\Debug\text-example-character_recognition.exe
03 character_recognition项目配置
设置character_recognition项目为启动项。
# 如果路径中有空格,需要使用双引号,参数路径根据自己实际情况调整
配置属性==>调试==>命令参数=../../../../../../opencv_contrib/modules/text/samples/scenetext_word01.jpg
配置属性==>调试==>工作目录=$(OutDir)
04 运行结果
scenetext_char01.jpg识别结果:
A demo program of Scene Text Character Recognition:
Shows the use of the OCRBeamSearchDecoder::ClassifierCallback class using the Single Layer CNN character classifier described in:
Coates, Adam, et al. "Text detection and character recognition in scene images with unsupervised feature learning." ICDAR 2011.
OCR output = "d" with confidence 0.879025. Evaluated in 479.052 ms.