系统相关
首页 > 系统相关> > Windows10下使用PaddleOCR+c++

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,目录结构如下:

image-20210514164314422

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)

目录结构如下:

image-20210514164653225

2.1.6 模型文件

模型简介模型名称推荐场景检测模型方向分类器识别模型
中英文超轻量OCR模型(9.4M)ch_ppocr_mobile_v2.0_xx移动端&服务器端推理模型 / 预训练模型推理模型 / 预训练模型推理模型 / 预训练模型
中英文通用OCR模型(143.4M)ch_ppocr_server_v2.0_xx服务器端推理模型 / 预训练模型推理模型 / 预训练模型推理模型 / 预训练模型

这里用的是中英文通用OCR模型,目录结构如下(需整理):

image-20210514165135212

2.2 生成编译例程——ocr_system

  1. 用cmake生成工程
  2. 用vs2017打开程序,配置、编译

2.2.1 cmake生成工程

打开cmake-gui,选择路径:

image-20210514170011902

点击Configure

image-20210514170115642

点击Finish

image-20210514170311504

配置OpenCV和Paddle_Lib路径,我的路径如下:

image-20210514170530503

点击Configure

点击Generate

生成如下文件:

image-20210514170704599

2.2.2 使用vs2017编译

使用vs2017打开ocr_system.sln,设置为Release、x64,再检查一下工程的依赖项路径名称等是否与本地文件一致

image-20210514171152255

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T9mMCh1R-1625024835356)(Windows10下使用PaddleOCR记录.assets/image-20210514171246639.png)]

image-20210514171359484

image-20210514171430872

右击ocr_system生成就好

2.2.3 编译报错

  1. 在postprocess_op.cpp中PolygonScoreAcc函数下有句话错误:cv::Point rook_point[contour.size()];

    发现没有用到这个函数的地方,整个函数都注释掉吧

  2. 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”

    c/c+±-代码生成–运行库 设置为多线程(/MT:

  3. 常量中有换行符

    进入项目 -> 属性->常规,将字符集设置为多字节字符集

    在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

image-20210514172817318

打开控制台进入到此路径:

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