PaddleOCR简单使用教程-Windows

news2025/2/25 3:37:16

说明

最近公司业务需要用到图文识别类似的功能,所以查阅了许多工具之后选择用百度开源的PaddleOCR来进行使用

先看官方简介:
百度飞桨PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力开发者训练出更好的模型,并应用落,支持多种OCR相关前沿算法,在此基础上打造产业级特色模型PP-OCR和PP-Structure,并打通数据生产、模型训练、压缩、预测部署全流程
PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力开发者训练出更好的模型,并应用落地。
在这里插入图片描述在这里插入图片描述
PaddleOCR官方主页:https://www.paddlepaddle.org.cn/
GitHub地址:https://github.com/PaddlePaddle/PaddleOCR
Gitee地址:https://gitee.com/paddlepaddle/PaddleOCR

实现功能

网上很多教程,官方也有文档,我结合官方的文档和自己的使用来进行说明

准备Python环境

因为paddle整个工具依赖Python环境,所以首先要准备好Python环境
如果本身就有的就不说了,如果没有的可以通过两种方式进行安装,这里我通过官方推荐的安装Anaconda工具包来集成Python环境,推荐对Python不熟练的都使用这种方式,因为他会自动帮我们安装很多依赖包,省去了很多的麻烦

安装Anaconda

Anaconda的安装很简单,一般都不会出问题,所以我就直接把官方的步骤写在下面
清华大学的镜像地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
官方地址:https://docs.anaconda.com/anaconda/install/hashes/win-3-64/

这里两个都可以,根据自己网络选择安装

下载完成后,双击安装程序进入图形界面

默认安装位置为C盘,建议将安装位置更改到D盘:
在这里插入图片描述

勾选conda加入环境变量,忽略警告:
在这里插入图片描述
打开终端并创建conda环境

打开Anaconda Prompt终端:左下角Windows Start Menu -> Anaconda3 -> Anaconda Prompt启动控制台

在这里插入图片描述
创建新的conda环境

# 在命令行输入以下命令,创建名为paddle_env的环境
# 此处为加速下载,使用清华源 官方推荐安装3.8的python,我这里安装3.10
conda create --name paddle_env python=3.10 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/  

激活刚创建的conda环境,在命令行中输入以下命令:

# 激活paddle_env环境
conda activate paddle_env
# 查看当前python的位置
where python

安装PaddleOCR

我下面所有的命令安装后面都跟了-i https://mirror.baidu.com/pypi/simple 这是指定他的源是百度那边,如果不加这个会很慢,所以建议后面的安装都加上相关指定

安装Paddle

根据自己机器选择GPU还是CPU的版本,GPU还分了10和9,可自行查看
这里是CPU版本,所以安装的是CPU版本

pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

安装好之后可以在python的依赖包目录里面查看是否安装成功,windows的路径一般都在你的python安装路径\Lib\site-packages里面
在这里插入图片描述

安装PaddleOCR包

这里网上有两种安装方式,一种是官方推荐的直接全局安装PaddleOCR,这样后面就可以直接在任意位置进行命令调取,还有一种是安装解压包然后进行使用,我两者都有使用

全局安装

pip install paddleocr -i https://mirror.baidu.com/pypi/simple

这里的安装很有可能会报错,一般都是缺少模块的问题,看报的错误缺少什么模块就用pip把相关模块安装好之后再安装就行了
如果还是报错可以手动下载相关模块的shapely安装包完成安装,地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely

还是老样子,安装好之后可以在python的依赖包目录下面查看
在这里插入图片描述

解压包安装

在github或者gitee上面可以下载相关的解压包
在这里插入图片描述
然后在当前路径下通过命令进行相关模块的安装

pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple

中途可能会报错

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for lanms-neo
Failed to build lanms-neo
ERROR: Could not build wheels for lanms-neo, which is required to install pyproject.toml-based projects

这里我查阅了很多资料,有说指定paddleocr版本为2.0.6的,有说缺少c++环境的,经过我自己的测试,发现应该是缺少c++环境导致,然后网上一些说缺少这个版本,一些说缺少那个版本,实在看的我眼花,最后索性直接通过Visual Studio installer工具进行相关项的安装
在这里插入图片描述

在这里插入图片描述
我是安装了这几个组件,安装好之后最好重启一下电脑
然后再次通过命令安装相关的依赖模块就不报错了,成功安装好需要的包

运行

把图片放到指定的路径,然后运行命令

paddleocr --image_dir ./imgs/11.jpg --use_angle_cls true --use_gpu false

最后控制台输出结果:
在这里插入图片描述
大功告成!

模型下载

在这里插入图片描述

paddleocr提供了很多推理模型供我们下载,想要对于不同场景进行识别,需要下载相应的模型
下载地址:https://gitee.com/paddlepaddle/PaddleOCR/blob/release/2.6/doc/doc_ch/models_list.md
下载好之后在paddlerocr的目录下面新建inference文件夹,然后把模型解压后的包放进去,启动的时候可以通过参数指定模型即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/54246.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink系列之Flink 流式编程模式总结

title: Flink系列 一、Flink 流式编程模式总结 1.1 基础总结 官网: https://flink.apache.org/ Apache Flink — Stateful Computations over Data Streams 三个任意: 任意的数据源 Source任意的计算类型 Transformation任务的数据目的地 Sink其中关于…

trt多流、多batch、多context

(1)一个engine可以创建多个context,一个engine可以有多个执行上下文,允许一组权值用于多个重叠推理任务。例如,可以使用一个引擎和一个上下文在并行CUDA流中处理图像。每个上下文将在与引擎相同的GPU上创建。 &#xf…

跨境电商市场也“内卷”,出海卖家如何破圈?

近些年来,跨境电商从业者都在调侃本行业越来越“卷”,大家需要铆足了劲竞争更有利的资源,以往的流量红利期似乎一去不复返了。事实上,很多跨境电商卖家对这种局势并不陌生,一些人甚至经历了国内电商从流量红利期至流量…

复习计算机网络——第三章记录(1)

数据链路层 功能:通过一些数据链路层的协议,在不太可靠的物理链路上实现可靠的数据传输。 相关基本概念: 1、结点(node):网络中的主机(host)和路由器(router&#xff…

JS实现简易计算器(input表单)

实现效果: 代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"></head><body><p>整数1:<input type"text" id"num1"></p><p>整数2:<input type"text&q…

Kamiya丨Kamiya艾美捷抗BCMA单抗,克隆Vicky-2说明书

Kamiya艾美捷抗BCMA单抗化学性质&#xff1a; 同义词&#xff1a;B细胞成熟蛋白&#xff0c;TNFRSF 17&#xff0c;CD269。 特异性&#xff1a;识别鼠标BCMA。 物种反应性&#xff1a;老鼠不与人BCMA发生交叉反应。其他物种未经测试。 Ig同种型&#xff1a;大鼠IgG2a 免疫…

4×30m钢筋混凝土简支T梁桥结构设计与计算

目 录 1设计资料 1 1.1桥面净宽 1 1.2设计荷载 1 1.3主梁跨径和全长 1 1.4材料 1 1.5设计依据 1 1.6参考资料 1 2任务与要求 2 2.1结构尺寸拟定 2 2.2行车道板计算 2 2.3主梁计算 2 2.4横梁的计算 2 3结构尺寸拟定 3 4行车道板计算 4 4.1永久荷载及其效应 4 4.2截面设计、配筋与…

机器视觉计算(一)

本文主要记录像素尺寸映射到实际物理尺寸的计算&#xff0c;并给出一些参考文献。 分辨率 视野(Field of View)/像素(Pixel) 比如我要看的产品大小是30mm*10MM&#xff0c;使用200万像素&#xff08;1600pixel*1200pixel&#xff09;的相机。因为产品是长条形&#xff0c;为了…

[附源码]Python计算机毕业设计SSM酒店客户管理系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

read-after-write consistency 写后读一致性的解决方法

问题定义 写后读一致即写完数据之后马上读&#xff0c;直接能读到新的数据&#xff0c;而不是老的数据。 导致这个问题主要是数据库之间的同步延时。这里只讨论一主多从的情况。 如下图&#xff1a; 用户添加新评论用户刷新&#xff0c;读请求到从节点1&#xff0c;此时从节…

【Matplotlib绘制图像大全】(十三):甜甜圈饼图

前言 大家好,我是阿光。 本专栏整理了《Matplotlib绘制图像大全》,内包含了各种常见的绘图方法,以及Matplotlib各种内置函数的使用方法,帮助我们快速便捷的绘制出数据图像。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmMatp…

Vue2.0开发之——Vue基础用法-vue-cli(30)

一 概述 vue-cli—介绍并安装vue-clivue-cli—基于vue-cli创建vue项目vue-cli—项目预览效果vue-cli—项目目录结构vue-cli—vue项目运行过程vue-cli—组件的基本使用 二 vue-cli—介绍并安装vue-cli 2.1 什么是单页面应用程序 单页面应用程序&#xff08;英文名&#xff1a…

C语言刷题系列——6.(递归)实现顺序输出整数

递归实现顺序输出整数 ❄️一) 题目要求☃️1.函数接口定义&#xff1a;☃️2.裁判测试程序样例&#xff1a;❄️二) 非递归 解法☃️step1.统计位数☃️step2.循环&#xff0c;打印每一位☃️step3.实现❄️三) 递归 解法☃️step1.分析☃️step2.图解流程☃️step3.实现)❄️…

举个栗子~Tableau 技巧(245):用辅助标识快速查看标靶图

我们经常会使用 标靶图&#xff08;靶心图&#xff09;来参照目标评估指标的表现。例如&#xff1a;销售配额评估、实际花费与预算的比较情况、绩效优劣范围&#xff08; 优/良/差&#xff09;等等。 指标不多的情况&#xff0c;标靶图其实是较直观的。但如果指标很多&#xf…

面试官:请问如何提升TCP三次握手的性能?

本文主要分享在 Linux 操作系统下&#xff0c;如何优化 TCP 的三次握手流程&#xff0c;提升握手速度。 TCP 是一个可以双向传输的全双工协议&#xff0c;所以需要经过三次握手才能建立连接。三次握手在一个 HTTP 请求中的平均时间占比在 10% 以上&#xff0c;在网络状况不佳、…

请问财务管理的作用有哪些?

财务管理作为企业管理的一个重要组成部分&#xff0c;如何在当前企业经营方式转变过程中发挥出更大的作用&#xff0c;如何进一步促进财务管理理论和方法的改革与发展&#xff0c;从而使财务管理更具有适应性和有效性&#xff0c;是企业管理理论与实务工作者一个共同关心的话题…

常用数据结构 ——— 队列(环形队列和顺序队列)

目录 一、队列简介 二、顺序队列 三、环形队列 四、环形队列代码 1、队列结构体 2、队列初始化 3、判断队列是否为满 4、判断队列是否为空 5、将数据插入到队列中 6、读取队列中的数据 7、释放队列空间 8、功能测试 一、队列简介 队列只允许在队列头&#xff08;fr…

_Linux(共享内存)

文章目录0. 共享内存1. 共享内存示意图2. 共享内存函数2.1 shmget函数2.2 shmat函数2.3 shmdt函数2.4 shmctl函数2.5 查看共享内存指令2.6 删除共享方法2.6.1 指令删除2.6.2 代码删除3. 实例代码3.0 log.hpp打印日志信息3.1 comm.hpp(shmServer.cc和shmClicent.cc共有文件)3.2 …

Java 17的这些新特性,Java迈入新时代

前言 2021年9月14日Java 17发布&#xff0c;作为新时代的农民工&#xff0c;有必要了解一下都有哪些新东西。 Java 17是Java 11以来又一个LTS&#xff08;长期支持&#xff09;版本&#xff0c;Java 11 和Java 17之间发生了那些变化可以在OpenJDK官网找到JEP&#xff08;Java…

Unity中用Natrue Renderer做自己的地形Terrain.

效果图 一、下载与导入Nature Renderer Nature Renrderer是个强大的插件&#xff0c;它本身就可以作为地形编辑的工具取代Unity的地形细节和树木的渲染系统。 nature-renderer官网 1.下载链接 推荐&#xff08;已经购买的许可证&#xff0c;可直接使用&#xff09;&#xf…