导读
本期将介绍并演示C++ OpenCV使用PaddleOCR做文字识别的步骤与效果。
介绍
百度深度学习框架PaddlePaddle开源的OCR项目PaddleOCR近期霸榜github。使用测试后发现识别效果很好,对于简单的应用(车票车牌身份证等),直接用项目提供的模型即可使用。特殊应用,可自己训练后使用。上篇文章已介绍了Python OpenCV使用步骤,文章链接如下:
让OCR更简单 | PaddleOCR+OpenCV实现文字识别步骤与代码演示
本文将介绍C++ OpenCV使用PaddleOCR做文字识别步骤。
效果展示
第一部分使用Halcon OCR实例中的部分图片验证,测试效果如下视频:
第二部分使用车牌识别图片验证,测试效果如下视频:
实现步骤
(1) 下载PaddleOCR 2.0源码:
https://github.com/PaddlePaddle/PaddleOCR
解压后:
(2) 下载paddle_inference_install_dir文件并解压:
解压后:
(3) 下载OpenCV Release版并解压,这里使用4.4.0版本:
(4) CMake编译PaddleOCR源码:使用版本我这里选择现成的VS2017 x64,CMake 3.16,注意下面蓝色部分中3个目录配置,然后依次Config和Generate,生成ocr_system.sln。
(5) 打开ocr_system.sln,选择x64 Release模式,生成ALL_BUILD,生成成功后,Release文件夹会生成ocr_system.exe。
(6) 下载识别模型(轻量级和通用型模型),下载地址:
https://github.com/PaddlePaddle/PaddleOCR
轻量级模型(模型文件小约9.4M,识别速度快,时间约为通用型模型一半,识别效果一般情况够用,相较通用型模型差一些):
通用型模型(模型文件大约155M,识别速度慢,识别效果相较轻量级模型更好):
(7) 将其他所需文件复制到ocr_system.exe同目录,包括config.txt(配置文件)、ppocr_keys_v1.txt(字库文件)
config.txt配置如下,注意修改下面红色部分路径为自己的
所需文件如下:
(8) cmd运行测试:ocr_system.exe config.txt 1.png
(9) 如果想将功能添加到自己项目中,可以查看main.cpp做参考
上面效果预览中的2个视频效果就是我加了MFC界面的简单应用,大家也可以自己尝试。视频中的MFC Demo源码与素材均已上传至知识星球中,需要的朋友可以加入获取。
标签:ocr,PaddleOCR,模型,system,C++,OpenCV,识别 From: https://blog.51cto.com/stq054188/5765856