当前位置: 首页 > news >正文

【Windows10下PP-OCRv4部署指南‌】

Windows10下PP-OCRv4部署指南‌
一、环境准备‌

安装Visual Studio 2022‌

下载并安装 ‌C++桌面开发组件‌,确保支持MSVC编译环境‌。
配置系统环境变量,确保cl.exe等编译工具可用。

Python环境配置‌

推荐使用Conda创建虚拟环境:
bash
Copy Code
conda create -n PaddleOCR python=3.8
conda activate PaddleOCR

安装PaddlePaddle CPU/GPU版本:
bash
Copy Code
pip install paddlepaddle==2.4.2 -i https://pypi.tuna.tsinghua.edu.cn/simple # CPU版本‌:ml-citation{ref=“8” data=“citationList”}

安装PaddleOCR依赖:
bash
Copy Code
pip install -r requirements.txt # 从PaddleOCR源码目录安装‌:ml-citation{ref=“1,6” data=“citationList”}

二、模型下载与转换‌

下载预训练模型‌

直接通过命令行或手动下载模型文件:
bash
Copy Code
wget https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_det_infer.tar
wget https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_rec_infer.tar

解压后得到.pdmodel和.pdiparams文件‌。

模型转换(可选)‌

转ONNX格式‌(适用于NCNN/OpenVINO部署):
bash
Copy Code
paddle2onnx --model_dir ch_PP-OCRv4_det_infer --model_filename inference.pdmodel --params_filename inference.pdiparams --save_file ch_PP-OCRv4_det.onnx

优化ONNX模型‌(减少计算冗余):
bash
Copy Code
onnxsim ch_PP-OCRv4_det.onnx ch_PP-OCRv4_det_sim.onnx --overwrite-input-shape 1,3,48,320 # 固定输入尺寸‌:ml-citation{ref=“4,6” data=“citationList”}

三、C++项目配置(VS2022)‌

项目目录结构‌

从PaddleOCR源码复制deploy/cpp_infer目录下的include和src文件夹‌。
添加以下依赖文件:
OpenCV库(需提前编译或下载预编译版本)
Paddle Inference库(从官网下载Windows版)
模型文件(检测、分类、识别模型)‌。

Visual Studio配置‌

包含目录‌:添加OpenCV头文件路径、Paddle Inference头文件路径。
库目录‌:添加OpenCV .lib文件路径、Paddle Inference库路径。
附加依赖项‌:添加opencv_world455.lib、paddle_inference.lib等‌。
四、模型部署验证‌

Python端推理测试‌

运行PaddleOCR官方脚本:
bash
Copy Code
python tools/infer/predict_system.py --image_dir=./test_img.jpg

检查输出结果是否包含正确文本检测和识别信息‌。

C++端部署‌

编译生成可执行文件,加载模型并输入测试图像:
cpp
Copy Code
// 示例代码片段(加载模型)
Detector detector(“ch_PP-OCRv4_det_sim.onnx”);
cv::Mat img = cv::imread(“test_img.jpg”);
std::vector boxes = detector.detect(img);

确保输出框坐标与文本内容准确‌。
五、常见问题解决‌

依赖库冲突‌

若安装lanms-neo或polygon3失败,需确保已安装Visual Studio C++编译环境‌。

模型输入尺寸不匹配‌

转换模型时通过–input_shape_dict固定输入尺寸(如[1,3,48,320])‌。

OpenCV路径配置错误‌

检查环境变量Path是否包含OpenCV的bin目录路径‌。
部署流程图‌
plaintext
Copy Code
环境准备(VS2022 + Conda) → 模型下载与转换 → C++项目配置 → 编译与测试 → 部署完成

通过以上步骤,可在Windows 10环境下完成PP-OCRv4的本地化部署‌。

相关文章:

【Windows10下PP-OCRv4部署指南‌】

Windows10下PP-OCRv4部署指南‌ 一、环境准备‌ 安装Visual Studio 2022‌ 下载并安装 ‌C桌面开发组件‌,确保支持MSVC编译环境‌。 配置系统环境变量,确保cl.exe等编译工具可用。 Python环境配置‌ 推荐使用Conda创建虚拟环境: bash Co…...

Matlab PID参数整定和设计

1、内容简介 Matlab 206-PID参数整定和设计 可以交流、咨询、答疑 2、内容说明 略 某流量控制系统整定方法仿真(3) 摘 要:本次设计针对一个给定的流量控制系统进行仿真,已经确认该系统为简单控制系统,并且控制策略…...

【Linux系统】Linux基础指令(详解Linux命令行常用指令,每一个指令都有示例演示)

文章目录 一、与文件路径相关的指令0.补充知识:路径的认识1.pwd 指令2.cd 指令(含家目录的介绍) 二、创建和删除文件的指令0.补充知识:普通文件和目录文件1.touch 指令(可以修改文件的时间戳)2.mkdir 指令3…...

LLM基础-什么是Token?

LLM基础-什么是Token? 概述 Token 是大语言模型(LLM, Large Language Model)中最基本的输入单元,它是语言被模型“理解”的方式。不同于人类可以直接看懂一段自然语言文本,LLM 只能处理数字,而这些数字就…...

Few-shot medical image segmentation with high-fidelity prototypes 论文总结

题目:Few-shot medical image segmentation with high-fidelity prototypes(高精确原型) 论文:Few-shot medical image segmentation with high-fidelity prototypes - ScienceDirect 源码:https://github.com/tntek/D…...

大模型之路(day 1)

这段时间以来,全身心的投入了研究大模型,虽然还是入门,但比之前已经好了非常多了,不得不说,计算机的学习特别需要强大的自驱力和耐心,以及检索能力。知乎确实在这些知识的分享上做的比csdn好太多了 万事开…...

996引擎-拓展变量:物品变量

996引擎-拓展变量:物品变量 测试代码参考资料对于Lua来说,只有能保存数据库的变量才有意义。 至于临时变量,不像TXT那么束手束脚,通常使用Lua变量就能完成。 测试代码 -- 存:物品拓展strfunction (player)local where =...

集合框架(重点)

1. 什么是集合框架 List有序插入对象,对象可重复 Set无序插入对象,对象不可重复(重复对象插入只会算一个) Map无序插入键值对象,键只唯一,值可多样 (这里的有序无序指的是下标,可…...

IDEA在Git提交时添加.ignore忽略文件,解决为什么Git中有时候使用.gitignore也无法忽略一些文件

文章目录 一、为什么需要.gitignore文件?二、如何在IntelliJ IDEA中高效管理.gitignore文件?1:先下载这个.ignore插件2. 创建或编辑.gitignore文件3. 使用IDEA内置模板快速生成忽略规则4. 实时预览忽略效果5. 检查忽略规则是否生效6.但是一般我们更多时候…...

如何将自己封装的组件发布到npm上:详细教程

如何将自己封装的组件发布到npm上:详细教程 作为前端开发者,我们经常从npm(Node Package Manager)上下载并使用各种第三方库和组件。然而,有时候我们可能会发现自己需要的功能在npm上并不存在,或者我们希望…...

位运算,状态压缩dp(算法竞赛进阶指南学习笔记)

目录 移位运算一些位运算的操作最短 Hamilton 路径(状态压缩dp模板,位运算) 0x是十六进制常数的开头;本身是声明进制,后面是对应具体的数; 数组初始化最大值时用0x3f赋值; 移位运算 左移 把二…...

node.js|环境部署|源码编译高版本的node.js

一、 前言 本文就如何二进制部署和源码编译安装部署node.js环境做一个简单的介绍 node的版本大体是以18版本为界限,也就是说18版本之前对glibc版本没有要求,其后的版本都对glibc版本有要求,node的版本越高,glibc需要的版本也越…...

通信安全员ABC证的考试内容包括哪些?

通信安全员 ABC 证的考试内容整体上围绕通信安全相关的法律法规、安全技术、安全管理等方面展开,但在具体侧重点上有所不同,以下是详细介绍: 通信安全基础知识 通信原理:包含模拟通信和数字通信的基本原理,如调制、解…...

Oracle--SQL基本语法

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 1、SQL语句介绍 在Oracle开发中,客户端把SQL语句发送给服务器,服务器对SQL语句进行编译、执行,把执行的结果返回给…...

windows服务器及网络:论如何安装(虚拟机)

今天我要介绍的是:在Windows中对于安装系统(虚拟机的步骤以及相关的安装事宜),事不宜迟,让我们来看看系统安装(虚拟机)是怎么操作的: 对现在来说,安装电脑系统已经是非常…...

【网络篇】从零写UDP客户端/服务器:回显程序源码解析

大家好呀 我是浪前 今天讲解的是网络篇的第四章:从零写UDP客户端/服务器:回显程序源码解析 从零写UDP客户端/服务器:回显程序源码解析 UDP 协议特性​核心类介绍​ UDP的socket应该如何使用:1: DatagramSocket2: DatagramPacket回…...

学习笔记:黑马程序员JavaWeb开发教程(2025.3.23)

11.2 案例-文件上传-简介 文件上传的前端页面的代码需要放到springboot项目的static里面,也就是resource文件夹下面的static文件夹里面 服务端接收前端上传的数据,再服务端定义一个controller来接收数据,再controller中定义一个…...

提示词构成要素对大语言模型跨模态内容生成质量的影响

提示词构成要素对大语言模型跨模态内容生成质量的影响 提示词清晰度、具象性与质量正相关 限定指向性要素优于引导指向性要素 大语言模型生成内容保真度偏差 以讯飞星火大模型为实验平台,选取100名具备技术素养的人员,从提示词分类、构成要素和实践原则归纳出7种提示词组…...

浅聊docker的联合文件系统

前言: 在我们pull镜像的时候,就会发现一个神奇的地方,在将镜像pull到本地的时候它是分层下载的,如下图: 这时候我就有一个疑问,为什么是分层下载的?怎么和我们平时下载软件的时候不一样呢? 联…...

计算机视觉cv入门之Haarcascade的基本使用方法(人脸识别为例)

Haar CascadeXML特征分类器,是一种基于机器学习的方法,它利用了积分图像(或总面积)的概念有效地提取特征(例如,边缘、线条等)的数值。“级联分类器”即意味着不是一次就为图像中的许多特征应用数百个分类器,而是一对一地应用分类器…...

【NLP 62、实践 ⑮、基于RAG + 智谱语言模型的Dota2英雄故事与技能介绍系统】

羁绊由我而起,痛苦也由我承担 —— 25.4.14 英雄介绍文件: 通过网盘分享的文件:RAG 智谱语言模型的Dota2英雄故事与技能介绍系统 链接: https://pan.baidu.com/s/1G7Xo5TRvFl2BzUnE0NFaBA?pwd4d4j 提取码: 4d4j --来自百度网盘超级会员v3的…...

Keil MDK 编译问题:function “HAL_IncTick“ declared implicitly

问题与处理策略 问题描述 ..\..\User\stm32f1xx_it.c(141): warning: #223-D: function "HAL_IncTick" declared implicitlyHAL_IncTick(); ..\..\User\stm32f1xx_it.c: 1 warning, 0 errors问题原因 在 stm32f1xx_it.c 文件中调用了 HAL_IncTick(),但…...

OpenCV基础01-图像文件的读取与保存

介绍: OpenCV是 Open Souce C omputer V sion Library的简称。要使用OpenCV需要安装OpenCV包,使用前需要导入OpenCV模块 安装 命令 pip install opencv-python 导入 模块 import cv2 1. 图像的读取 import cv2 img cv2.imread(path, flag)这里的flag 是可选参数&…...

IP数据报

IP数据报组成 IP数据报(IP Datagram)是网络中传输数据的基本单位。 IP数据报头部 版本(Version) 4bit 告诉我们使用的是哪种IP协议。IPv4版本是“4”,IPv6版本是“6”。 头部长度(IHL,Intern…...

视频联网平台与AI识别技术在电力行业的创新应用

一、电力行业智能化转型的迫切需求 在能源革命与数字化转型的双重推动下,电力行业正面临着前所未有的智能化升级需求。随着特高压电网的大规模建设和新能源占比的不断提高,传统的电力运维管理模式已经难以满足现代电网安全、高效运行的要求。据统计&…...

Apache Parquet 文件组织结构

简要概述 Apache Parquet 是一个开源、列式存储文件格式,最初由 Twitter 与 Cloudera 联合开发,旨在提供高效的压缩与编码方案以支持大规模复杂数据的快速分析与处理。Parquet 文件采用分离式元数据设计 —— 在数据写入完成后,再追加文件级…...

深度学习方向急出成果,是先广泛调研还是边做实验边优化?

目录 有限资源下本科生快速发表深度学习顶会论文的实战策略 1.短周期内可出成果的研究路径 2.论文阅读与复现的优先顺序 3.无一对一指导时的调研与实验组织 4.成功案例:本科生顶会论文经验 5.快速上手的研究子方向推荐 大家好这里是AIWritePaper官方账号&…...

Python 深度学习实战 第11章 自然语言处理(NLP)实例

Python 深度学习实战 第11章 自然语言处理(NLP)实例 内容概要 第11章深入探讨了自然语言处理(NLP)的深度学习应用,涵盖了从文本预处理到序列到序列学习的多种技术。本章通过IMDB电影评论情感分类和英西翻译任务,详细介绍了如何使…...

9、Hooks:现代魔法咒语集——React 19 核心Hooks

一、魔法咒语的本质革新 "类组件如同古老的魔杖挥舞仪式,而Hooks是新时代的无杖施法!"霍格沃茨魔法研究院的魔杖动力学教授惊叹道。React Hooks通过函数式能量场重构了魔法运作模式,让组件能量流转如尼可勒梅的炼金术。 ——以《国…...

FutureTask底层实现

一、FutureTask的基本使用 平时一些业务需要做并行处理,正常如果你没有返回结果的需求,直接上Runnable。 很多时候咱们是需要开启一个新的线程执行任务后,给我一个返回结果。此时咱们需要使用Callable。 在使用Callable的时候,…...

深入浅出:LDAP 协议全面解析

在网络安全和系统管理的世界中,LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是一个不可忽视的核心技术。它广泛应用于身份管理、认证授权以及目录服务,尤其在企业级环境中占据重要地位。本文将从基…...

学习笔记—C++—string(练习题)

练习题 仅仅反转字母 917. 仅仅反转字母 - 力扣(LeetCode) 题目 给你一个字符串 s ,根据下述规则反转字符串: 所有非英文字母保留在原有位置。所有英文字母(小写或大写)位置反转。 返回反转后的 s 。…...

论文阅读:2024 arxiv DeepInception: Hypnotize Large Language Model to Be Jailbreaker

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 DeepInception: Hypnotize Large Language Model to Be Jailbreaker DeepInception:催眠大型语言模型,助你成为越狱者 https://arxiv.org/pdf/2311.0…...

OC底层原理【一】 alloc init new

OC底层原理【一】 alloc init && new 文章目录 OC底层原理【一】 alloc init && new前言allocslowpath(checkNil && !cls)) 和 fastpath(!cls->ISA()->hasCustomAWZ())!cls->ISA()->hasCustomAWZ()) obj->initInstanceIsa();将类与isa关…...

集合框架拓展--stream流的使用

Stream(JDK8新特性) 什么是Stream? 也叫stream流,是JDK8开始新增的一套API(java.util.stream.*),可以用于操作集合或数组中的数据 优势:Stream流大量地结合了Lambda的语法风格来编程&#xff…...

Beszel​​ 轻量级服务器监控平台的详细安装步骤

什么是 Beszel Beszel 是一个轻量级的服务器监控平台,包含 Docker 统计信息、历史数据和警报功能。 它拥有友好的 Web 界面、简单的配置,并且开箱即用。它支持自动备份、多用户、OAuth 身份验证和 API 访问 https://beszel.dev/zh/guide/what-is-besz…...

Spring 微服务解决了单体架构的哪些痛点?

1. 部署困难 (Deployment Difficulty & Risk) 单体痛点: 整体部署: 对单体应用的任何微小修改(哪怕只是一行代码),都需要重新构建、测试和部署整个庞大的应用程序。部署频率低: 由于部署过程复杂且风险高,发布周期通常很长&a…...

Kotlin delay方法解析

本文记录了kotlin协程(Android)中delay方法的字节码实现,并解析了delay方法如何实现挂起操作。 一、delay方法介绍 1.1、delay方法使用举例 class TestDelay {suspend fun testDelay() {Log.d("TestDelay", "before delay")delay(1000)Log.d…...

C# 类型、存储和变量(用户定义类型)

本章内容 C#程序是一组类型声明 类型是一种模板 实例化类型 数据成员和函数成员 预定义类型 用户定义类型 栈和堆 值类型和引用类型 变量 静态类型和dynamic关键字 可空类型 用户定义类型 除了C#提供的16种预定义类型,还可以创建自己的用户定义类型。有6种类型可以…...

C语言之高校学生信息快速查询系统的实现

🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 C语言之高校学生信息快速查询系统的实现 目录 任务陈述与分析 问题陈述问题分析 数据结构设…...

Windows串口通信

Windows串口通信相比较Android串口通信,在开发上面相对方便一些。原理都是一样,需要仔细阅读厂商设备的串口通信协议。结合串口调试助手进行测试,测试通过后,编写代码实现。 比如近期就接触到了一款天平,其最大测量值为100g,测量精度0.001g。 拿到手之后我就先阅读串口通…...

从零开始用Pytorch实现LLaMA 4的混合专家(MoE)模型

近期发布的LLaMA 4模型引入了混合专家(Mixture of Experts, MoE)架构,旨在提升模型效率和性能。尽管社区对LLaMA 4的实际表现存在一些讨论,但MoE作为一种重要的模型设计范式,继Mistral等模型之后再次受到关注。 所以我…...

python3GUI--仿网课答题播放器 By:PyQt5(分享)

文章目录 一.前言二.相关知识1.PyQt52.QMediaPlayer3.QThread4.Sqlite3 二.展示1.主界面2.课程播放&问答3.字幕调整4.播放列表折叠5.添加课程 三.心得与分享1.数据本地化2.自定义组件3.系统流程图与代码量4.免责声明 四&#…...

Python基础总结(八)之循环语句

文章目录 一、for循环1.1 for循环格式1.2 for ...else1.3 for...break1.4 for...continue 二、while循环2.1 while循环格式2.2 while...break2.3 while...continue2.4 while ...else 循环语句就如其名,就是重复的执行一段代码,直到满足退出条件时&#x…...

21. git apply

基本概述 git apply 的作用是&#xff1a;应用补丁文件 基本用法 1.命令格式 git apply [选项] <补丁文件>2.应用补丁 git apply patchfile.patch将补丁应用到工作目录&#xff0c;但不会自动添加到暂存区&#xff08;需手动 git add&#xff09; 常用选项 1.检查…...

第一章:MySQL视图基础

1. 视图是什么&#xff1f; ​​定义​​&#xff1a;视图&#xff08;View&#xff09;是一种虚拟表&#xff0c;其内容基于一个或多个真实表&#xff08;基表&#xff09;的查询结果。视图不实际存储数据&#xff0c;而是通过查询动态生成数据。​​核心特点​​&#xff1a…...

深入理解基线检查:网络安全的基石

深入理解基线检查&#xff1a;网络安全的基石 一、引言 在信息技术飞速发展的今天&#xff0c;网络安全已成为企业和组织正常运营的关键保障。从日常办公系统到关键业务应用&#xff0c;任何环节的安全漏洞都可能导致严重的后果&#xff0c;如数据泄露、系统瘫痪等。基线检查作…...

33-公交车司机管理系统

技术&#xff1a; 基于 B/S 架构 SpringBootMySQLvueelementui 环境&#xff1a; Idea mysql maven jdk1.8 node 用户端功能 1.首页:展示车辆信息及车辆位置和线路信息 2.模块:车辆信息及车辆位置和线路信息 3.公告、论坛 4.在线留言 5.个人中心:修改个人信息 司机端功能…...

【AI实践】使用DeepSeek+CherryStudio绘制Mermaid格式图表

目录 工具准备创建DeepSeek API Key安装CherryStudioMermaid在线编辑器 绘制图表编写提示词在CherryStudio中调用DeepSeek复制源码到Mermaid编辑器中进行微调 图表示例流程图思维导图甘特图 工具准备 创建DeepSeek API Key 打开DeepSeek开放平台&#xff0c; 注册并充值成功后…...

TCP报文段解析:从抽象到具象的趣味学习框架

TCP报文段解析&#xff1a;从抽象到具象的趣味学习框架 一、What&#xff1a;TCP报文段长什么样&#xff1f; 核心结构&#xff08;类比快递包裹&#xff09;&#xff1a; 复制 下载 | 源端口&#xff08;16位&#xff09;| 目的端口&#xff08;16位&#xff09;| |-----…...