Windows10下使用PaddleOCR+c++
作者:互联网
文章目录
Windows10下使用PaddleOCR+c++
2.1 配置c++环境
cmake
opencv
vs2017
PaddleOCR 项目文件
paddle推理预测库
模型文件
以下按本机环境为例
2.1.1 cmake
版本:3.16.2
2.1.2 OpenCV
opencv-4.4.0
2.1.3 vs2017
官方教程推荐vs2019,原因是vs2019已经支持cmake,但实际用的过程中还是有各种问题,所以在生成项目时还是用的cmake-gui,所以这里对vs版本没太大要求
2.1.4 PaddleOCR 项目文件
直接在GitHub或者gitee拉取即可,这里可能需要登录,配置git环境之类不在此详述。
gitee项目地址:https://gitee.com/paddlepaddle/PaddleOCR
我用的是release/2.1,目录结构如下:
2.1.5 paddle推理预测库
地址:https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/windows_cpp_inference.html
这里下载的是cpu版本,cpu_avx_mkl——预测库(2.0.2)
目录结构如下:
2.1.6 模型文件
模型简介 | 模型名称 | 推荐场景 | 检测模型 | 方向分类器 | 识别模型 |
---|---|---|---|---|---|
中英文超轻量OCR模型(9.4M) | ch_ppocr_mobile_v2.0_xx | 移动端&服务器端 | 推理模型 / 预训练模型 | 推理模型 / 预训练模型 | 推理模型 / 预训练模型 |
中英文通用OCR模型(143.4M) | ch_ppocr_server_v2.0_xx | 服务器端 | 推理模型 / 预训练模型 | 推理模型 / 预训练模型 | 推理模型 / 预训练模型 |
这里用的是中英文通用OCR模型,目录结构如下(需整理):
2.2 生成编译例程——ocr_system
- 用cmake生成工程
- 用vs2017打开程序,配置、编译
2.2.1 cmake生成工程
打开cmake-gui,选择路径:
点击Configure
点击Finish
配置OpenCV和Paddle_Lib路径,我的路径如下:
点击Configure
点击Generate
生成如下文件:
2.2.2 使用vs2017编译
使用vs2017打开ocr_system.sln,设置为Release、x64,再检查一下工程的依赖项路径名称等是否与本地文件一致
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T9mMCh1R-1625024835356)(Windows10下使用PaddleOCR记录.assets/image-20210514171246639.png)]
右击ocr_system生成就好
2.2.3 编译报错
-
在postprocess_op.cpp中PolygonScoreAcc函数下有句话错误:cv::Point rook_point[contour.size()];
发现没有用到这个函数的地方,整个函数都注释掉吧
-
检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”
c/c+±-代码生成–运行库 设置为多线程(/MT:
-
常量中有换行符
进入项目 -> 属性->常规,将字符集设置为多字节字符集
在C/C++ => 命令行中添加(“/utf-8”)
2.3 运行demo程序
2.3.1 修改配置文件
修改配置文件:\PaddleOCR\deploy\cpp_infer\tools\config.txt:
主要修改以下参数:
det_model_dir
cls_model_dir
rec_model_dir
char_list_file
# model load config
use_gpu 0
gpu_id 0
gpu_mem 4000
cpu_math_library_num_threads 10
use_mkldnn 1
# det config
max_side_len 960
det_db_thresh 0.3
det_db_box_thresh 0.5
det_db_unclip_ratio 1.6
det_model_dir D:/MyFiles/CV/PaddleOCR/Model/ch_ppocr_server_v2.0_det_infer/
# cls config
use_angle_cls 0
cls_model_dir D:/MyFiles/CV/PaddleOCR/Model/ch_ppocr_mobile_v2.0_cls_infer/
cls_thresh 0.9
# rec config
rec_model_dir D:/MyFiles/CV/PaddleOCR/Model/ch_ppocr_server_v2.0_rec_infer/
char_list_file D:/MyFiles/CV/PaddleOCR/PaddleOCR-CPU-cpp/PaddleOCR/ppocr/utils/ppocr_keys_v1.txt
# show the detection results
visualize 1
# use_tensorrt
use_tensorrt 0
use_fp16 0
2.3.2 运行程序:
找到ocr_system.exe所在文件夹,拷贝需要依赖的dll
打开控制台进入到此路径:
ocr_system.exe D:\MyFiles\CV\PaddleOCR\PaddleOCR-CPU-cpp\PaddleOCR\deploy\cpp_infer\tools\config.txt D:\MyFiles\CV\PaddleOCR\PaddleOCR-CPU-cpp\PaddleOCR\doc\imgs\11.jpg
其中路径要根据实际情况修改
2.3.3 解决Windows下控制台输出中文乱码
在控制台输入
CHCP 65001
标签:cmake,PaddleOCR,模型,det,Windows10,c++,2.3,2.1 来源: https://blog.csdn.net/ShareProgress/article/details/118358040