介绍
关于PaddleOCR的c++版本调用,网上的资料还是蛮多的,官方教程也算详细,不过多数教程貌似对应的paddleOCR或者paddlepaddle版本比较低了,所以在这里还是记录一下自己安装的过程。
一. 准备
- VS2019社区版
- CMake 3.0+
二. 配置
2.1 PaddlePaddle C++ 预测库
首先需要下载PaddlePaddle的C++预测库,官方已经提供了很多编译好的库,直接找到需要的版本就可以了,官方链接在这里。我需要的是windows上CPU版本的库,所以选择了cpu_avx_mkl
版本: 我用的是2.1.1版本,个人觉得版本新功能应该会强一点。下载完成后,解压到你想放的位置,我放在了自己电脑的D盘,并且把文件名改了一下,便于分辨安装的版本。 这里不需要配置系统环境变量,不太明白为什么,反正这样就可以了。
2.2 opencv安装配置
opencv库直接在官网上下载就好了,下载地址点这里,我用的opencv-4.3.0。因为我用的是opencv编译好的库,所以需要注意的就是官方提供的opencv编译环境是否满足要求,VS2019对应的是vc15的库,所以下载的opencv需要带有vc15版本的库。 上面是我的opencv库,也放在了D盘。然后就是把opencv的环境变量配置一下,常规操作,随便写一下:
- 我的电脑->属性->高级系统设置->环境变量
- 系统环境变量->Path->双击
- 新建->将dll所在路径添加到新建框中,我的路径是:D:\opencv-4.3.0\build\x64\vc15\bin。
2.3 VS2019直接编译CMake
2.3.1 PaddleOCR代码下载
从github上下载或者gitee下载都可以,github可能得翻墙,不然下载速度很慢。 上面是我下载的文件夹,在这个博客中,我们只需要关注的是deploy/cpp_infer
子文件夹。
2.3.2 VS2019编译设置
step1: 打开VS2019,点击继续但无需代码
: step2: 点击:文件->打开->CMake 然后选择上面提到的cpp_infer
文件夹的CMakeLists.txt: 打开以后就是下面的样子: step3: 配置参数 点击CMakeSettings.json,修改Paddle,Opencv库路径: 因为我用的是CPU版本,所以没有勾选WITH_GPU
,也没配置GPU参数,只勾选了WITH_MKL
。修改完成后,点击上面的那行蓝色字体保存并生成CMake缓存以加载变量
。
step4: 生成->全部生成 一般来说,这个时候都会出问题的,解决方法往下翻。
2.4 VS2019报错
2.4.1 没有dirent.h
头文件
基本上VS报的错误都是平台不同造成的,PaddlePaddle库主要支持的Linux平台,dirent.h头文件windows是没有的,不过可以把这个头文件加到项目头文件下面,问题就可以解决了。
2.4.2 C3861“lstat”: 找不到标识符
去掉lstat函数名字中的l。
三. 测试
3.1 将文件整理到一起
paddle_inference.dll不在x64_Debug生成路径下,需要从paddlepaddle C++预测库里拷贝。model文件夹里面都是PaddleOCR模型,下载地址点这里,选择推理模型。 file文件里面是预测图片等文件: 最重要的是修改config.txt文件:
3.2 运行ocr测试程序
打开cmd,进入上面整理的文件夹下: ocr_system程序的第一个参数是config.txt路径,第二个参数需要识别的图片路径,具体实现可以看cpp_infer下面的main函数。运行上面的命令可以得到: 正常运行了,但是识别的文本有乱码,需要先在命令行中输入CHCP 65001
,运行后得到Active code page: 65001
。重新运行识别程序:
四. 总结
总的来说,配置不困难,遇到的问题也都能解决,不过记录还是有点辛苦的。
参考链接:
- windows 控制台cmd乱码(及永久修改编码)的解决办法
- PaddleDetection部署c++测试图片视频 (win10+vs2017)
- Visual Studio 2019 Community CMake 编译指南
我的工程上传百度云了,有需要的可以下载看看: 链接:pan.baidu.com/s/1K5WWi36-… 提取码:2rmi
今天的文章PaddleOCR windows c++部署分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/16489.html