opencv_contrib自带的OCR处理用例共有6个,其中end_to_end_recognition、segmented_word_recognition可以使用tesseract库。
01 资源
OpenCV自带的短词识别用例,opencv_contrib\modules\text\samples\cropped_word_recognition.cpp。cropped_word_recognition.cpp识别图片中的单词。
模型文件(需要拷贝到Debug或Release目录中):
opencv_contrib/modules/text/samples/OCRBeamSearch_CNN_model_data.xml.gz
测试图片:
opencv_contrib/modules/text/samples/scenetext_word01.jpg
opencv_contrib/modules/text/samples/scenetext_word02.jpg
opencv_contrib/modules/text/samples/scenetext_word03.jpg
opencv_contrib/modules/text/samples/scenetext_word04.jpg
02 编译cropped_word_recognition
参考opencv01 相对完整的编译opencv3.3.0 win版本,编译opencv3.3.0 vs2015版本。
生成文件:D:\git\opencv\build\v3.3.0\x64\bin\Debug\text-example-cropped_word_recognition.exe
03 cropped_word_recognition项目配置
设置cropped_word_recognition项目为启动项。
# 如果路径中有空格,需要使用双引号,参数路径根据自己实际情况调整
配置属性==>调试==>命令参数=../../../../../../opencv_contrib/modules/text/samples/scenetext_word01.jpg
配置属性==>调试==>工作目录=$(OutDir)
04 运行结果
scenetext_word01.jpg识别结果:
A demo program of Scene Text cropped word Recognition:
Shows the use of the OCRBeamSearchDecoder 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 = "CHINA". Decoded in 12189.1 ms.