【Python】PaddleOCR文字识别国产之光 从安装到pycharm中测试 (保姆级图文)

news2025/3/1 4:53:40

目录

    • 官方项目地址
    • Python环境搭建(也就是使用Anaconda的python)
        • 1. 安装Anaconda
        • 1. 打开终端并创建conda环境
    • 安装PaddlePaddle(CPU演示)
      • 安装PaddleOCR whl包
      • 如果安装shapely库报错(我没有报错,其他类似库安装失败同理)
    • Pycharm中配置编译环境与报错解决
      • Pycharm中设置使用conda的虚拟环境。
      • 报错1:ModuleNotFoundError: No module named 'Polygon'
      • 报错2:ModuleNotFoundError: No module named 'lanms'
    • Python代码测试
    • 总结


欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中

省流助手:本文使用windows的Anaconda安装环境,不建议大家用pycharm等其他途径下载环境,你会发现装好环境非常困难,第三方库之间版本的冲突兼容性报错一个接一个,不要浪费时间在无意义的事情上,大佬随意。

官方项目地址

项目地址
https://gitee.com/paddlepaddle/PaddleOCR

Python环境搭建(也就是使用Anaconda的python)

推荐环境:

  • PaddlePaddle >= 2.1.2
  • Python 3.7
  • CUDA10.1 / CUDA10.2
  • CUDNN 7.6

如果您已经安装Python环境,可以直接参考2.安装PaddlePaddle(非常不建议,如果你很自信非要不用Anaconda的话)

1. 安装Anaconda
  • 说明:使用paddlepaddle需要先安装python环境,这里我们选择python集成环境Anaconda工具包

    • Anaconda是1个常用的python包管理程序
    • 安装完Anaconda后,可以安装python环境,以及numpy等所需的工具包环境。
  • Anaconda下载:

地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
  • 大部分win10电脑均为64位操作系统,选择x86_64版本;若电脑为32位操作系统,则选择x86.exe

在这里插入图片描述

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

  • 默认安装位置为C盘,建议将安装位置更改到自己的盘,特别注意!路径不能有空格和中文,这会影响到部分库的安装!:
    在这里插入图片描述

  • 勾选conda加入环境变量,忽略警告:
    注意勾选后会影响到其他比如vscode pycharm 中对于python的环境变量设定,这个无伤大雅。
    在这里插入图片描述

1. 打开终端并创建conda环境
  • 打开Anaconda Prompt终端:左下角Windows Start Menu -> Anaconda3 -> Anaconda Prompt启动控制台
  • 右键以管理员身份打开(部分同学没有开管理员权限的情况)
    在这里插入图片描述
  • 创建新的conda环境
    在命令行输入以下命令,创建名为paddle_env的环境,此处为加速下载,使用清华源
conda create --name paddle_env python=3.8 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

该命令会创建1个名为paddle_env、python版本为3.8的可执行环境,根据网络状态,需要花费一段时间

之后命令行中会输出提示信息,输入y并回车继续安装

  • 安装完毕
    在这里插入图片描述

  • 激活刚创建的conda环境,在命令行中输入以下命令,这个conda activate paddle_env激活环境命令是后面的基础,我们的很多操作都要先激活了环境才能继续安装:

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

在这里插入图片描述
以上anaconda环境和python环境安装完毕


安装PaddlePaddle(CPU演示)

请注意,cmd窗口已经激活了虚拟环境的情况下再执行下面的命令!!

如果您没有基础的Python运行环境,请看前面的一节python环境配置

  • 您的机器安装的是CUDA9或CUDA10,请运行以下命令安装
    python3 -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple
    
  • 您的机器是CPU,请运行以下命令安装(本文演示)
    pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
    

更多的版本需求,请参照飞桨官网安装文档中的说明进行操作。

  • 一开始安装看到飘红有点慌
    在这里插入图片描述
  • 但是我发现重新执行一遍命令没有飘红
    在这里插入图片描述

安装PaddleOCR whl包

建议用国内源加速下载!

官网的命令(不建议,下载速度慢)
pip install "paddleocr>=2.0.1" # 推荐使用2.0.1+版本
百度源下载加速(请用我!)
pip install paddleocr -i https://mirror.baidu.com/pypi/simple
  • 已经在paddle_env中
    在这里插入图片描述
  • 安装成功结果
    在这里插入图片描述

如果安装shapely库报错(我没有报错,其他类似库安装失败同理)

  • 对于Windows环境用户:直接通过pip安装的shapely库可能出现[winRrror 126] 找不到指定模块的问题。建议从这里下载shapely安装包完成安装。

shapely下载网址(仅在你命令安装失败时启用),注意这里下载的是cp38(你的python版本3.8) amd64 (64位python,请注意python版本也得是64位)

https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely

在这里插入图片描述

  • 把下载得到的whl文件放在G:\anaconda3\envs\paddle_env\Lib路径下
    然后到文件的目录下运行“pip install XXXXX你缺少的库文件.whl”就可以很快完成安装,注意要提前先进入虚拟环境中再安装。

Pycharm中配置编译环境与报错解决

Pycharm中设置使用conda的虚拟环境。

不理解如何配置的看此文
【Python】Pycharm中设置使用conda的虚拟环境(保姆级图文)
在这里插入图片描述

报错1:ModuleNotFoundError: No module named ‘Polygon’

在这里插入图片描述

  File "E:\allworkspace\python work space\PaddleOCR-release-2.6\ppocr\data\imaug\ct_process.py", line 22, in <module>
    import Polygon as plg
ModuleNotFoundError: No module named 'Polygon'

解决方法:重新安装库Polygon

# 卸载原有的Polygon 
pip uninstall Polygon 
pip uninstall Polygon3
#然后安装
pip install Polygon3 -i https://pypi.tuna.tsinghua.edu.cn/simple

报错2:ModuleNotFoundError: No module named ‘lanms’

解决方法:

conda install -f pip
pip install lanms-nova

Python代码测试

  • 项目结构
    在这里插入图片描述

  • 被识别的图片
    在这里插入图片描述

  • 识别结果
    在这里插入图片描述

  • 通过Python脚本使用PaddleOCR whl包,whl包会自动下载ppocr轻量级模型作为默认模型,第一次运行代码你会看到下载,是正常的,后面就不会了。

  • 下面是测试所用的图片(水印除外,大家用自己的图片)
    在这里插入图片描述

  • 测试代码

######################1.文字识别#########################
from paddleocr import PaddleOCR, draw_ocr
# Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
# 例如`ch`, `en`, `fr`, `german`, `korean`, `japan`
ocr = PaddleOCR(use_angle_cls=True,# 设置使用方向分类器识别180度旋转文字,处理一些不是正放的文字
                use_gpu=True,#使用gpu
                lang="ch"#中文识别
                )
img_path = 'testOCR.jpg'
result = ocr.ocr(img_path, cls=True)#进行识别
for idx in range(len(result)):
    res = result[idx]
    for line in res:
        print(line)

#######################2.生成目标检测的图片,用检测框框选文字#########################
# 显示结果
# 如果本地没有simfang.ttf,可以在doc/fonts目录下下载
from PIL import Image
result = result[0]
image = Image.open(img_path).convert('RGB')
boxes = [line[0] for line in result]
txts = [line[1][0] for line in result]
scores = [line[1][1] for line in result]
im_show = draw_ocr(image, boxes, txts, scores, font_path='simfang.ttf')
im_show = Image.fromarray(im_show)
im_show.save('result.jpg')

总结

大家喜欢的话,给个👍,点个关注!继续跟大家分享敲代码过程中遇到的问题!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2022 mzh

Crated:2022-1-10

欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中
【Python安装第三方库一行命令永久提高速度】
【使用PyInstaller打包Python文件】
【更多内容敬请期待】


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

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

相关文章

MongoDB 索引和常用命令

一、基本常用命令 1.1 案例需求 存放文章评论的数据存放到 MongoDB 中&#xff0c;数据结构参考如下&#xff0c;其中数据库为 articledb&#xff0c; 专栏文章评论 comment 字段名称 字段含义 字段类型 备注 _id ID ObjectId或String Mongo的主键的字段 articlei…

【Mybatis】基于Mybatis插件+注解,实现敏感数据自动加解密

一、介绍 业务场景中经常会遇到诸如用户手机号&#xff0c;身份证号&#xff0c;银行卡号&#xff0c;邮箱&#xff0c;地址&#xff0c;密码等等信息&#xff0c;属于敏感信息&#xff0c;需要保存在数据库中。而很多公司会会要求对数据库中的此类数据进行加密存储。 敏感数据…

光伏三相并网逆变器的控制策略与性能分析

微❤关注“电击小子程高兴的MATLAB小屋”获得资料&#xff08;专享优惠&#xff09; 光伏三相并网逆变器的控制策略与性能分析 引言&#xff1a; 随着可再生能源的日益重视和发展&#xff0c;光伏发电系统在电力系统中的地位越来越重要。其中&#xff0c;光伏三相并网逆变器…

什么台灯最好学生晚上用?开学适合孩子学习的台灯

作为学龄期儿童的家长&#xff0c;最担心的就是孩子长时间学习影响视力健康。无论是上网课、写作业、玩桌游还是陪伴孩子读绘本&#xff0c;都需要一个足够明亮的照明环境&#xff0c;因此选购一款为孩子视力发展保驾护航的台灯非常重要。推荐五款适合孩子学习的台灯。 1. 书客…

distcc分布式编译

distcc https://gitee.com/bison-fork/distcc.git 下载工具链 mingw&#xff0c;https://www.mingw-w64.org/downloads/#w64devkitperl&#xff0c;https://strawberryperl.com/releases.html免安装zip版本&#xff0c;autoconf等脚本依赖perlautoconf、automake&#xff0c…

软件测试学习(四)自动测试和测试工具、缺陷轰炸、外包测试、计划测试工作、编写和跟踪测试用例

目录 自动测试和测试工具 工具和自动化的好处 测试工具 查看器和监视器 驱动程序 桩 压力和负载工具 干扰注入器和噪声发生器 分析工具 软件测试自动化 宏录制和回放 可编程的宏 完全可编程的自动测试工具 随机测试&#xff1a;猴子和大猩猩 使用测试工具和自动…

SpringBoot 前端406 后端Could not find acceptable representation

原因:返回对象没有get方法,无法转成JSON格式

2023年10月13日历史上的今天大事件早读

54年10月13日罗马帝国皇帝克劳狄一世逝世 467年10月13日北魏孝文帝拓跋宏出生 982年10月13日辽国皇帝辽景宗逝世 1847年10月13日李沅发起义 1884年10月13日国际标准时间日 1925年10月13日前英国首相撒切尔夫人出生 1927年10月13日鲁丝-埃尔德飞渡大西洋失败 1928年10月1…

电脑怎么剪辑视频?高手分享的独家秘诀

视频剪辑是一项有趣而具有创造性的活动&#xff0c;可以帮助您将录制的视频片段转化为有趣、有启发性的作品。无论您是想创建家庭影片、Vlog视频、教程&#xff0c;还是其他任何类型的视频&#xff0c;掌握视频剪辑技巧都是必要的。那电脑怎么剪辑视频呢&#xff1f;在本篇文章…

竞赛 深度学习 机器视觉 车位识别车道线检测 - python opencv

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习 机器视觉 车位识别车道线检测 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) …

QTableWidget中cell 和 item区别

1.cell&#xff1a;某行某列中单元格。cell相当于一个容器&#xff0c;如箱子。里面不管有没有东西&#xff0c;cell都在那里。 2.item&#xff1a;item是某行某列单元格中的内容&#xff0c;即cell箱子中所放置的东西&#xff0c;即实实在在的东西。 通过调用 itemClicked()…

VMware虚拟机安装Linux教程(史上最全)

前言 许多想学网络安全的小伙伴&#xff0c;因为自己电脑是Windows系统的&#xff0c;并且电脑里面有很多重要文件&#xff0c;一般这种情况最好是安装一个虚拟机&#xff0c;然后虚拟机安装Linux的操作系统&#xff0c;这样就不会对原本的系统和文件产生影响。 需要网络安全…

云原生网关可观测性综合实践

作者&#xff1a;钰诚 可观测性 可观测性&#xff08;Observability&#xff09;是指系统、应用程序或服务的运行状态、性能和行为能够被有效地监测、理解和调试的能力。 随着系统架构从单体架构到集群架构再到微服务架构的演进&#xff0c;业务越来越庞大&#xff0c;也越来…

【Unity实战100例】Unity内部软键盘输入制作

目录 一. 样式颜色设置 二. UI逻辑 源码地址: 哔哩哔哩工房 一. 样式颜色设置 可以在预制体上提前设置一下对应组件的颜色,包括按键边框的颜色,内部填充色,普通按键文本颜色,功能按键文本颜色,大家可以根据自己的需求处理按钮逻辑。

基于PHP+laravel+vue自主研发的医院手术麻醉信息系统源码

大型医院AIMS手术麻醉信息系统全套成品源码 开发语言&#xff1a;PHP、 js 技术架构&#xff1a;mysqllaravelvue2 开发工具&#xff1a;oh-storm 前端框架&#xff1a;vue2 element 后端框架&#xff1a;laravel 数 据 库&#xff1a;mysql 8.0 手术麻醉临床信息系统…

【小余送书第三期】CTF/AWD竞赛标准参考书+实战指南:《AWD特训营》,参与活动,领书咯!

目录 一、背景介绍 二、内容简介 三、读者对象 四、本书目录 五、书籍概览 一、背景介绍 随着网络安全问题日益凸显&#xff0c;国家对网络安全人才的需求持续增长&#xff0c;其中&#xff0c;网络安全竞赛在国家以及企业的人才培养和选拔中扮演着至关重要的角色。 在数…

virtuoso如何导出def?

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 数模混合的项目中需要把PAD位置通过def的形式读入pr设计中,以此让power plan规避PAD的区域,避免DRC问题。 使用virtuoso导出def的流程如下: 1)新建一个空cell,在Library Manager-File-New-Cell…

(七)Python函数和lambda表达式

函数就是一段封装好的&#xff0c;可以重复使用的代码&#xff0c;它使得我们的程序更加模块化&#xff0c;不需要编写大量重复的代码。 函数可以提前保存起来&#xff0c;并给它起一个独一无二的名字&#xff0c;只要知道它的名字就能使用这段代码。函数还可以接收数据&#…

AGI之MFM:《多模态基础模型:从专家到通用助手》翻译与解读之视觉理解、视觉生成

​AGI之MFM&#xff1a;《Multimodal Foundation Models: From Specialists to General-Purpose Assistants多模态基础模型&#xff1a;从专家到通用助手》翻译与解读之视觉理解、视觉生成 目录 相关文章 AGI之MFM&#xff1a;《Multimodal Foundation Models: From Speciali…

使用newman来执行posman脚本

一.什么是Newman 简单来说使用Newman&#xff0c;可以让我们的Postman的脚本通过非GUI(命令行)的方式运行 二、安装 首先需要安装NodeJsNodeJs安装完成后&#xff0c;使用npm install -g newman 安装newman 三、NewMan命令 使用newman run --help 可以查看帮助命令 -e 指定环境…