码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用Visual Studio Code编译PaddleOCR的C++代码


    目的

            为什么要使用Visual Studio Code编译呢?官方已经提供了使用Visual Studio 2019的编译教程,但是我觉得Visual Studio 2019打开太慢,配置比较繁琐,所以想在Visual Studio Code上敲PaddleOCR的C++代码,方便快捷,本文章提供所有软件下载地址,软件详细安装自行百度,编译过程中的有一些问题,也在此记录下。

    准备工作

    1、安装Visual Studio 2017或Visual Studio 2019版

    下载地址:Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本 (microsoft.com)

    2、安装cmake

    下载地址:Download | CMake

     下载双击自行安装完成即可。

    3、OpenCV

    下载地址:Releases · opencv/opencv (github.com)

    下载双击自行安装,记住安装路径即可。 

    4、下载Visual Studio Code

    下载地址:Visual Studio Code - Code Editing. Redefined

    上述4个软件准备好了,我们就可以开始进行编译了。

    开始编译

    1、下载PaddleOCR的C++代码

    PaddleOCR/deploy/cpp_infer at release/2.6 · PaddlePaddle/PaddleOCR (github.com)

    2、打开Visual Studio Code

    导入cpp_infer文件夹 ,并下载paddle_inference编译好的预测库,并放入cpp_infer目录下

    下载地址:下载安装Linux预测库 — Paddle-Inference documentation (paddlepaddle.org.cn)

     3、安装Cmake Tools、C/C++和C/C++ Extension Pack

    在Visual Studio Code安装这三个包后,重启后接下来解析编译配置。 

     

    4、打开cpp_infer/CMakeLists.txt

    配置PADDLE_LIB和OPENCV_DIR路径,这里没有用到GPU,其他参数不用配置

     修改44行,否则编译会报错

    find_package(OpenCV REQUIRED PATHS ${OPENCV_DIR}/build/ NO_DEFAULT_PATH)

    改成

    find_package(OpenCV REQUIRED PATHS ${OPENCV_DIR}/ NO_DEFAULT_PATH)

    5、切换Cmake编译状态,换成Release

     6、配置C/C++编译环境 

    7、运行后,会在build/Release目录生成一个ppocr.exe文件

    将下面文件拷贝到build/Release/文件夹下

    1. paddle_inference/paddle/lib/paddle_inference.dll
    2. paddle_inference/third_party/install/onnxruntime/lib/onnxruntime.dll
    3. paddle_inference/third_party/install/paddle2onnx/lib/paddle2onnx.dll
    4. opencv/build/x64/vc15/bin/opencv_world455.dll

    8、预测

    1. # 切换终端编码为utf8
    2. CHCP 65001
    3. .\ppocr.exe system --det_model_dir=.\inference\ch_PP-OCRv3_det_infer --cls_model_dir=.\inference\ch_ppocr_mobile_v2.0_cls_infer --rec_model_dir=.\inference\ch_PP-OCRv3_rec_infer --rec_char_dict_path=.\inference\ppocr_keys_v1.txt --det=true --cls=true --rec=true --image_dir=.\images\sfz1.jpg

    完毕!!!

  • 相关阅读:
    Java注释
    linux input子系统 — TP A/B(Slot)协议【转】
    安卓依赖冲突问题
    uniPush实战操作详细教程步骤
    盘点一下我用kafka两年以来踩过的一些非比寻常的坑
    Jmeter 模拟多用户登录的两种方法
    Spring_第3章_AOP+事务
    全球线栅偏振片(WGP)市场规模分析及发展预测
    2023-9-14 数字三角形
    柯桥在PPT中如何制作翻书动画?
  • 原文地址:https://blog.csdn.net/YY007H/article/details/126951323
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号