C++ 编译 PaddleOCR(CPU版)

C++ 编译 PaddleOCR(CPU版)

PaddleOCR项目地址

下载文件

模型名称模型简介检测模型地址识别模型地址支持空格的识别模型地址
chinese_db_crnn_mobile超轻量级中文OCR模型inference模型 / 预训练模型inference模型 / 预训练模型inference模型 / 预训练模型
chinese_db_crnn_server通用中文OCR模型inference模型 / 预训练模型inference模型 / 预训练模型inference模型 / 预训练模型

这里,我只下载了轻量级的模型,现在我们有这些文件:

TIM截图20200814174536

解压后(opencv.exe双击后,也是解压)目录如下:
TIM截图20200814220217

添加opencv环境变量:

环境变量

使用Visual Studio 2019直接编译CMake

  1. 打开Visual Studio 2019 Community,点击继续但无需代码
    step2
  2. 点击: 文件->打开->CMake
    step2.1

选择项目代码所在路径,并打开CMakeList.txt

cmakelist

  1. 点击:项目->CMake设置

cmake设置

  1. 稍等片刻,在下方的CMake变量和缓存中指定OpenCV_DIRPADDLE_LIB的路径
    OPENCV_DIR: E:/OCR/opencv/build/x64/vc15/lib
    OpenCV_DIR: E:/OCR/opencv/build/x64/vc15/lib
    PADDLE_LIB: E:/OCR/fluid_inference_cpu_avx_mkl

cmake修改

设置完成后, 点击上图中保存并生成CMake缓存以加载变量,前面都没问题的话,应该会得到以下输出:

cmake生成

点击生成->全部生成

生成项目

不出意外,还会遇到错误,如下:

生成错误

双击错误,定位到main.cpp 文件中,这个错误产生的原因是cout输出了中文,所以,我们可以用英文来替换这几个汉字!

还有一种奇怪的解决办事,就是要在中文字符串的最后边加上一个空格即可 😃

  std::cout << "花费了 "
            << double(duration.count()) *
                   std::chrono::microseconds::period::num /
                   std::chrono::microseconds::period::den
            << "秒 " << std::endl;

重新生成,就没问题了!!!

在运行程序之前,还要先修改一下配置文件,在E:\OCR\PaddleOCR\deploy\cpp_infer\tools 中,

修改config

生成的可执行文件在E:\OCR\PaddleOCR\deploy\cpp_infer\out\build\x64-Debug 中,在文件管理器中打开相应的文件夹,在地址栏输入cmd,即可定位到当前文件夹。

先输入CHCP 65001 回车,不然程序运行输出会乱码!
CHCP

E:\OCR\PaddleOCR\deploy\cpp_infer\out\build\x64-Debug>ocr_system.exe E:\OCR\PaddleOCR\deploy\cpp_infer\tools\config.txt E:\OCR\PaddleOCR\doc\imgs\10.jpg

第一个参数是 配置文件的路径,第二个参数是检测的图片路径

运行还会遇到一个错误 T_T

opencv346

解决办法就是将 E:\OCR\opencv\build\x64\vc15\bin 目录下的 opencv_world346.dllopencv_world346d.dll 复制到 C:\Windows\System32

再运行即可!结果如下:

ocr_vis

结果

对比可以看到,轻量级的检测模型还是有一定的错误,可以下载更大的模型自行测试!!完结撒花 !!!

  • 13
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 26
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值