Paddle OCR 安装使用教程

文章目录

    • 一、简介
    • 二、使用教程
    • 三、模型调用
    • 四、效果展示

一、简介

PaddleOCR是飞浆开源文字识别模型,最新开源的超轻量PP-OCRv3模型大小仅为16.2M。同时支持中英文识别;支持倾斜、竖排等多种方向文字识别;支持GPU、CPU预测,并且支持使用paddle开源组件训练自己的超轻量模型,对于垂直领域的需求有很大帮助。

二、使用教程

  1. 环境安装
  • 说明:官方推荐使用python3.7以上版本,但是在实际安装使用中发现python3.8更稳定,如果本地python安装包过多,推荐使用Anaconda来进行python包管理,避免包冲突。
  • Anaconda下载:
    地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
    按需下载自己需要的版本
  1. 安装程序运行所需库
  • 安装paddle

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

    默认安装CPU版本,安装paddle时建议使用百度源,若需要安装GPU版本,则请打开paddle官网选择适合的版本.

    paddle官网:https://www.paddlepaddle.org.cn/
    由于安装GPU版本需要先配置好CUDA和cudnn,建议有一定基础后再安装GPU版本

  • 安装paddlehub

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

    paddlehub介绍文档:https://github.com/PaddlePaddle/PaddleHub/blob/release/v2.1/README_ch.md

    对于Windows环境用户:直接通过pip安装的shapely库可能出现 找不到指定模块的问题。建议从下方地址下载shapely安装包完成安装
    https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely

  1. 安装ocr模型

     hub install ch_pp-ocrv3==1.2.0
    
    模型名称ch_pp-ocrv3
    网络Differentiable Binarization+SVTR_LCNet
    数据集icdar2015数据集
    是否支持Fine-tuning
    模型大小13M
    最新更新日期2022-05-11

    其它模型: chinese_ocr_db_crnn_server、PP-OCR、PP-OCRv2

三、模型调用

  1. 命令行预测示例

    hub run ch_pp-ocrv3 --input_path "/PATH/TO/IMAGE"
    
  2. python代码示例

    import paddlehub as hub
    import cv2img_path = r'C:\Users\26414\Downloads\test.jpg'ocr = hub.Module(name="ch_pp-ocrv3", enable_mkldnn=True)       # mkldnn加速仅在CPU下有效
    result = ocr.recognize_text(images=[cv2.imread(img_path)])# or 传递文件地址调用
    # result = ocr.recognize_text(paths=[img_path])
    

    注: img_path路径中不能包含中文字符,opencv不支持中文路径

    参数

    • paths (list[str]): 图片的路径;
    • images (list[numpy.ndarray]): 图片数据,ndarray.shape 为 [H, W, C],BGR格式;
    • use_gpu (bool): 是否使用 - GPU;若使用GPU,请先设置CUDA_VISIBLE_DEVICES环境变量
    • box_thresh (float): 检测文本框置信度的阈值;
    • text_thresh (float): 识别中文文本置信度的阈值;
    • angle_classification_thresh(float): 文本角度分类置信度的阈值
    • visualization (bool): 是否将识别结果保存为图片文件;
    • output_dir (str): 图片的保存路径,默认设为 ocr_result;
    • det_db_unclip_ratio: 设置检测框的大小;

    返回

    • res (list[dict]): 识别结果的列表,列表中每一个元素为 dict,各字段为:
      • data (list[dict]): 识别文本结果,列表中每一个元素为 dict,各字段为: - text(str): 识别得到的文本 - confidence(float): 识别文本结果置信度 - text_box_position(list): 文本框在原图中的像素坐标,4*2的矩阵,依次表示文本框左下、右下、右上、左上顶点的坐标 如果无识别结果则data为[]
      • save_path (str, optional): 识别结果的保存路径,如不保存图片则save_path为’’

四、效果展示

  • 测试图片
    在这里插入图片描述

  • 结果展示
    在这里插入图片描述

参考文档
paddle ocr官方地址: https://www.paddlepaddle.org.cn/hubdetail?name=ch_pp-ocrv3&en_category=TextRecognition
paddle ocr GitHub地址: https://github.com/PaddlePaddle/PaddleHub
在线体验地址: https://www.paddlepaddle.org.cn/hub/scene/ocr

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里内部《Java工程师面试手册》火了,完整版 PDF 开放下载

前言 2023金九银十即将来临,很多同学会问Java面试八股文有必要背吗? 我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。 国内的互联网面试,恐怕是现存的、最接近科举考…

el-input输入框type=“number“时,禁止鼠标上下滑动改变数值

el-input输入框type"number"时,禁止鼠标上下滑动改变数值 解决方法:在el-input中添加属性设置 mousewheel.native.prevent

深度学习实例分割篇——Mask RCNN原理详解篇

🍊作者简介:秃头小苏,致力于用最通俗的语言描述问题 🍊专栏推荐:深度学习网络原理与实战 🍊近期目标:写好专栏的每一篇文章 🍊支持小苏:点赞👍🏼、…

Rust 第三天---内存管理与所有权

前面介绍了环境配置以及基础语法,掌握之后已经可以开始用Rust编写一些简单的程序了,今天就要来介绍一下Rust核心的功能—内存管理与所有权 1. 关于内存管理 无论什么高级语言必须考虑到的一点就是编写程序时对于内存的管理问题,更简单一点解释,利用编程语言能快速高效的分配内…

【零基础入门学习Python---Python中机器学习和人工智能之快速入门实践】

🚀 零基础入门学习Python🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜…

GitHub Pages + Hexo

步骤 参考如下步骤:https://blog.csdn.net/yaorongke/article/details/119089190 出现的问题 1 Fluid主题 其更换Fluid主题时: 下载最新 release 版本 解压到 themes 目录,并将解压出的文件夹重命名为 fluid 按照上面执行后,后…

历史上的今天发生了什么事?华为日历带你“穿越”涨知识

探寻过去就会发现各种有趣的历史故事和知识值得细细品味,如果你想“穿越”过去,回顾历史上的今天曾经发生过的事件,或是以更轻松的方式增长历史知识,不妨试试订阅华为日历【历史上的今天】订阅服务。 无论是对历史一知半解的小白&…

基于PyQt5的桌面图像调试仿真平台开发(8)锐化

系列文章目录 基于PyQt5的桌面图像调试仿真平台开发(1)环境搭建 基于PyQt5的桌面图像调试仿真平台开发(2)UI设计和控件绑定 基于PyQt5的桌面图像调试仿真平台开发(3)黑电平处理 基于PyQt5的桌面图像调试仿真平台开发(4)白平衡处理 基于PyQt5的桌面图像调试仿真平台开发(5)…

CTFSHOW 每周大挑战 RCE极限挑战

RCE挑战1 开题直接给了源码 过滤了括号和点号。 使用内敛绕过。 payload: codeecho tac /f1agaaa;RCE挑战2 源码直接给了。 基本把能用的都过滤了,只剩下$()_;[],./字符,自增RCE无疑。 //相当于 ($_GET[_])($_GET[__]) 使用的时候url编…

基于simulink使用二维规范化互相关进行模式匹配和目标跟踪(附源码)

一、前言 此示例演示如何使用二维规范化互相关进行模式匹配和目标跟踪。双击“编辑参数”块以选择要检测的类似目标的数量。您还可以更改金字塔因子。通过增加它,您可以更快地将目标模板与每个视频帧匹配。更改金字塔因子可能需要更改阈值。 此外,还可…

华为云流水线CodeArts Pipeline怎么样?能实现哪些功能?

华为云流水线服务CodeArts Pipeline,旨在提升编排体验,开放插件平台,并提供标准化的DevOps企业治理模型,将华为公司内的优秀研发实践赋能给伙伴和客户。 灵活编排、高效调度 开放流水线插件 内置企业DevOps研发治理模型 体验通…

学习单片机的三个步骤:基础知识、编程语言和实践项目

当然!学习单片机的过程可以分为以下三个步骤: 学习基础知识:在开始学习单片机之前,首先需要掌握一些基础知识。了解数字电子学和模拟电子学的基本原理是很重要的,包括数字和模拟信号、逻辑门、计数器、寄存器等。还需…