PaddleOCR windows c++部署

介绍

  关于PaddleOCR的c++版本调用,网上的资料还是蛮多的,官方教程也算详细,不过多数教程貌似对应的paddleOCR或者paddlepaddle版本比较低了,所以在这里还是记录一下自己安装的过程。

一. 准备

  • VS2019社区版
  • CMake 3.0+

二. 配置

2.1 PaddlePaddle C++ 预测库

  首先需要下载PaddlePaddle的C++预测库,官方已经提供了很多编译好的库,直接找到需要的版本就可以了,官方链接在这里。我需要的是windows上CPU版本的库,所以选择了cpu_avx_mkl版本: PaddlePaddle C++预测库   我用的是2.1.1版本,个人觉得版本新功能应该会强一点。下载完成后,解压到你想放的位置,我放在了自己电脑的D盘,并且把文件名改了一下,便于分辨安装的版本。 PaddlePaddle解压文件 这里不需要配置系统环境变量,不太明白为什么,反正这样就可以了。

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可能得翻墙,不然下载速度很慢。 PaddleOCR文件夹 上面是我下载的文件夹,在这个博客中,我们只需要关注的是deploy/cpp_infer子文件夹。

2.3.2 VS2019编译设置

step1: 打开VS2019,点击继续但无需代码VS2019打开界面 step2: 点击:文件->打开->CMake CMake 然后选择上面提到的cpp_infer文件夹的CMakeLists.txt: 在这里插入图片描述 打开以后就是下面的样子: cpp_infer step3: 配置参数 点击CMakeSettings.json,修改Paddle,Opencv库路径: CMakeSetting 因为我用的是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 将文件整理到一起

test   paddle_inference.dll不在x64_Debug生成路径下,需要从paddlepaddle C++预测库里拷贝。model文件夹里面都是PaddleOCR模型,下载地址点这里,选择推理模型。 PaddleOCR模型 file文件里面是预测图片等文件: config 最重要的是修改config.txt文件: config file

3.2 运行ocr测试程序

  打开cmd,进入上面整理的文件夹下: cmd ocr_system程序的第一个参数是config.txt路径,第二个参数需要识别的图片路径,具体实现可以看cpp_infer下面的main函数。运行上面的命令可以得到: result 正常运行了,但是识别的文本有乱码,需要先在命令行中输入CHCP 65001,运行后得到Active code page: 65001。重新运行识别程序: result new

四. 总结

  总的来说,配置不困难,遇到的问题也都能解决,不过记录还是有点辛苦的。

参考链接:

  1. windows 控制台cmd乱码(及永久修改编码)的解决办法
  2. PaddleDetection部署c++测试图片视频 (win10+vs2017)
  3. Visual Studio 2019 Community CMake 编译指南

我的工程上传百度云了,有需要的可以下载看看: 链接:pan.baidu.com/s/1K5WWi36-… 提取码:2rmi

猜你喜欢

转载自juejin.im/post/7111886294380183565