您的位置:首页 > 运维架构

opencv 14 OCR 分段字识别(segmented_word_recognition) vs2015

2017-10-18 15:32 253 查看
segmented_word_recognition使用tesseract,KNN,CNN三种算法。

如果要配置tesseract环境,参考opencv 13 OCR 端到端识别(end_to_end_recognition) vs2015;如果不配置tesseract环境,运行时,只有KNN,CNN两种结果。

01 资源

OpenCV自带的OCR分段字识别用例,opencv_contrib\modules\text\samples\segmented_word_recognition.cpp。segmented_word_recognition.cpp,可以识别一段文字。

模型文件(需要拷贝到Debug或Release目录中):

opencv_contrib/modules/text/samples/OCRHMM_knn_model_data.xml.gz
opencv_contrib/modules/text/samples/OCRBeamSearch_CNN_model_data.xml.gz
opencv_contrib/modules/text/samples/OCRHMM_transitions_table.xml


测试图片:

opencv_contrib/modules/text/samples/scenetext_segmented_word01.jpg
opencv_contrib/modules/text/samples/scenetext_segmented_word01_mask.png
opencv_contrib/modules/text/samples/scenetext_segmented_word02.jpg
opencv_contrib/modules/text/samples/scenetext_segmented_word02_mask.png
opencv_contrib/modules/text/samples/scenetext_segmented_word03.jpg
opencv_contrib/modules/text/samples/scenetext_segmented_word03_mask.png
opencv_contrib/modules/text/samples/scenetext_segmented_word04.jpg
opencv_contrib/modules/text/samples/scenetext_segmented_word04_mask.png
opencv_contrib/modules/text/samples/scenetext_segmented_word05.jpg
opencv_contrib/modules/text/samples/scenetext_segmented_word05_mask.png


配置tesseract资源,参考opencv 13 OCR 端到端识别(end_to_end_recognition) vs2015

02 编译segmented_word_recognition

参考opencv01 相对完整的编译opencv3.3.0 win版本,编译opencv3.3.0 vs2015版本。

生成文件:D:\git\opencv\build\v3.3.0\x64\bin\Debug\text-example-segmented_word_recognition.exe。

注:如果要运行tesseract结果,参考opencv 13 OCR 端到端识别(end_to_end_recognition) vs2015

03 segmented_word_recognition项目配置

设置segmented_word_recognition项目为启动项。

# 如果路径中有空格,需要使用双引号,参数路径根据自己实际情况调整
配置属性==>调试==>命令参数=-@image=../../../../../../opencv_contrib/modules/text/samples/scenetext_segmented_word03.jpg -@mask=../../../../../../opencv_contrib/modules/text/samples/scenetext_segmented_word03_mask.png
配置属性==>调试==>工作目录=$(OutDir)




04 运行结果

scenetext_segmented_word03.jpg/scenetext_segmented_word03_mask.png结果:

Segmented word recognition.
A demo program on segmented word recognition. Shows the use of the OCRHMMDecoder API with the two provided default character classifiers.

Usage: text-example-segmented_word_recognition.exe [params] image mask

-?, -h, --help, --usage
print this message.
-l, --lex, --lexicon
(optional) lexicon provided as a list of comma separated words.

image (value:../../../../../../opencv_contrib/modules/text/samples/scenetext_segmented_word03.jpg)
source image for recognition.
mask (value:../../../../../../opencv_contrib/modules/text/samples/scenetext_segmented_word03_mask.png)
binary segmentation mask where each contour is a character.

OCR_Tesseract  output "Prlvate lee". Done in 132.917 ms.
OCR_NM         output "private Hire". Done in 167.645 ms.
OCR_CNN        output "Private Hire". Done in 6102.24 ms.


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: