首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[cmake项目]windows上基于C++部署PP-OCRv5模型paddleocrv5模型部署GPU版本

[cmake项目]windows上基于C++部署PP-OCRv5模型paddleocrv5模型部署GPU版本

作者头像
云未归来
发布2025-07-22 14:39:57
发布2025-07-22 14:39:57
5600
举报

PaddleOCRv5 C++ 推理项目使用教程

1. 项目简介

本项目基于PaddleOCR v5,使用Paddle Inference和OpenCV实现中英文文本检测与识别,支持方向分类,适合在Windows平台下进行二次开发和部署。

2. 环境准备

  • 操作系统:Windows 10/11
  • 编译器:Visual Studio 2019 或 2022
  • CMake:建议3.14及以上(如3.30.1)
  • OpenCV:建议4.9.0(可用其他4.x版本)
  • Paddle Inference:3.0.0 GPU版本(需要提前安装cuda11.8.0+cudnn8.9.7且显卡算力75,只能在GTX16系列和GTX20系列显卡运行,其他显卡需要重新编译paddleinference)

3. 依赖安装

  1. 安装Visual Studio 2019/2022(需包含C++开发组件)。
  2. 安装CMake(https://cmake.org/download/)。
  3. 下载OpenCV预编译包并解压(如:https://github.com/opencv/opencv/releases/download/4.9.0/opencv-4.9.0-windows.exe)。
  4. 确认x86-64_cuda11.8_cudnn8.9.7_mkl_avx_vs2019-paddle_inference-3.0.0目录已存在。

4. 模型准备

将以下模型文件夹放入model/目录下:

  • PP-OCRv5_mobile_det:文本检测模型
  • PP-OCRv5_mobile_rec:文本识别模型
  • ch_ppocr_mobile_v2.0_cls_infer:方向分类模型
  • ppocr_keys.txt:字典文件

5. 编译方法

修改CMakeLists.txt中的如下路径为你本地实际路径(注意不要有中文或空格):

代码语言:javascript
复制
SET(PADDLE_LIB "C:\\你的路径\\x86-64_cuda11.8_cudnn8.9.7_mkl_avx_vs2019-paddle_inference-3.0.0")
SET(OpenCV_DIR "D:\\你的路径\\opencv\\build\\x64\\vc16\\lib")

使用CMake生成VS工程或直接编译:

代码语言:javascript
复制
mkdir build
cd build
cmake ..
cmake --build . --config Release

编译完成后,build/Release/目录下会生成ppocr.exe及所需DLL。

6. 运行方法

切换到build/Release/目录。

执行如下命令(请将路径替换为你实际的模型和图片路径):

代码语言:javascript
复制
ppocr.exe \
  --det_model_dir=C:\路径\model\PP-OCRv5_mobile_det \
  --rec_model_dir=C:\路径\model\PP-OCRv5_mobile_rec \
  --cls_model_dir=C:\路径\model\ch_ppocr_mobile_v2.0_cls_infer \
  --image_dir=C:\路径\2.jpg \
  --use_angle_cls=true --det=true --rec=true --cls=true \
  --rec_char_dict_path=C:\路径\model\ppocr_keys.txt  \
  --use_gpu=true

结果会在命令行输出,若开启--visualize=true,检测结果图片会保存在--output指定目录。

7. 参数说明

  • --det_model_dir:检测模型目录
  • --rec_model_dir:识别模型目录
  • --cls_model_dir:方向分类模型目录
  • --image_dir:待识别图片路径或目录
  • --rec_char_dict_path:字典文件路径
  • --use_angle_cls:是否使用方向分类
  • --det:是否启用文本检测
  • --rec:是否启用文本识别
  • --cls:是否启用方向分类
  • --use_gpu:是否使用GPU推理
  • --output:结果输出目录(可选)
  • 其他参数详见main.cpp和源码注释

8. 常见问题

  • 路径不可包含中文或空格,否则可能导致模型加载失败。
  • 若提示DLL缺失,请确保build/Release/下有paddle_inference.dllcommon.dllmkldnn.dlllibiomp5md.dllmklml.dll等。
  • OpenCV需与编译时一致版本。

9. 二次开发指引

  • 主要入口为src/main.cpp,可根据实际需求修改参数或调用流程。
  • OCR核心逻辑见src/paddleocr.cpp,支持批量图片识别、检测、方向分类等。
  • 如需集成到其他项目,可参考PPOCR类的接口。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PaddleOCRv5 C++ 推理项目使用教程
    • 1. 项目简介
    • 2. 环境准备
    • 3. 依赖安装
    • 4. 模型准备
    • 5. 编译方法
    • 6. 运行方法
    • 7. 参数说明
    • 8. 常见问题
    • 9. 二次开发指引
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档