PaddleOCR 使用C++预测超轻量中文检测、识别模型

1. 准备工作

1.1 运行环境

操作系统建议用Linux。我使用的Ubuntu 16.04.6,处理器是4核 Intel® Core™ i5-7500 CPU @ 3.40GHz。

1.2 编译依赖库

本demo主要使用了第三方库opencv和paddle预测库。

1.2.1 编译Opencv

推荐使用opencv 3.0以上版本(以opencv3.4.7为例)。

1)下载和解压

wget https://github.com/opencv/opencv/archive/3.4.7.tar.gz
    
tar xvf 3.4.7.tar.gz

2)编译

cd opencv-3.4.7
mkdir build
cd build

cmake .. \
-DCMAKE_INSTALL_PREFIX= {设定的opencv要install的目录} \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \
-DWITH_IPP=OFF \
-DBUILD_IPP_IW=OFF \
-DWITH_LAPACK=OFF \
-DWITH_EIGEN=OFF \
-DCMAKE_INSTALL_LIBDIR=lib64 \
-DWITH_ZLIB=ON \
-DBUILD_ZLIB=ON \
-DWITH_JPEG=ON \
-DBUILD_JPEG=ON \
-DWITH_PNG=ON \
-DBUILD_PNG=ON \
-DWITH_TIFF=ON \
-DBUILD_TIFF=ON

make -j4
make install

make install完成之后,会在opencv install的目录下生成opencv头文件和库文件,用于后面的OCR代码编译。最终在安装路径下的文件结构如下所示:

opencv3/
|-- bin
|-- include
|-- lib
|-- lib64
|-- share
1.2.2 编译Paddle预测库

1)下载代码

git clone https://github.com/PaddlePaddle/Paddle.git

2)编译

mkdir build
cd build

cmake  .. \
-DWITH_CONTRIB=OFF \
-DWITH_MKL=OFF \
-DWITH_MKLDNN=OFF  \
-DWITH_TESTING=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_INFERENCE_API_TEST=OFF \
-DON_INFER=ON \
-DWITH_PYTHON=ON

make -j4
make inference_lib_dist

编译完成之后,可以在build/paddle_inference_install_dir/文件下看到生成了以下文件及文件夹。

build/paddle_inference_install_dir/
|-- CMakeCache.txt
|-- paddle
|-- third_party
|-- version.txt
  • 注: 如果编译的时候报too many files open的错误,设置一下 ulimit -n 63356

更多编译参数选项可以参考Paddle C++预测库官网:
https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/build_and_install_lib_cn.html#congyuanmabianyi

2. 运行

2.1 将模型导出为inference model

可以参考模型预测章节(https://github.com/PaddlePaddle/PaddleOCR/blob/dygraph/doc/doc_ch/inference.md),导出inference model,用于模型预测。模型导出之后,假设放在inference目录下,则目录结构如下。

inference/
|-- det_db
|   |--inference.pdparams
|   |--inference.pdimodel
|-- rec_rcnn
|   |--inference.pdparams
|   |--inference.pdparams

2.2 编译PaddleOCR C++预测demo

2.2.1 下载PaddleOCR
git clone https://github.com/PaddlePaddle/PaddleOCR.git

cd PaddleOCR/deploy/cpp_infer

vi tools/build.sh

将build.sh中的OPENCV_DIR设置成自己编译opencv的install path(1.2.1),LIB_DIR设置成Paddle预测库编译的路径,参考下图:

在这里插入图片描述

sh tools/build.sh

编译完成之后,会在build文件夹下生成一个名为ocr_system的可执行文件。

运行程序:

sh tools/run.sh

程序运行效果如下图:
在这里插入图片描述
当前目录下会生成ocr_vis.png的结果图片。效果如下:
在这里插入图片描述

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值