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

【PaddleOCR】快速集成 PP-OCRv5 的 Python 实战秘籍--- PaddleOCR实例化 OCR 对象的参数介绍

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

【PaddleOCR】快速集成 PP-OCRv5 的 Python 实战秘籍--- PaddleOCR实例化 OCR 对象的参数介绍

    • 一、引言
    • 二、Python 集成 PP-OCRv5 实战代码解析
    • 三、PaddleOCR() 实例化 OCR 对象的参数介绍
    • 四、总结

一、引言

  在数字化浪潮的推动下,光学字符识别(OCR)技术成为了信息采集与数据处理领域的关键力量。PaddleOCR,作为百度 PaddlePaddle 团队精心打造的开源 OCR 工具包,凭借其卓越的多语言识别能力、惊人的高精度文本解析性能以及出色的扩展性,在全球开发者社区中收获了极高的人气。
  随着 PaddleOCR 3.0 版本的震撼发布,PP-OCRv5 模型系列横空出世,它不仅在文本识别的精准度上实现了高达 13% 的史诗级跃升,更是在多场景文档解析方面展现出了无与伦比的强大实力。今天,就让我们一同深入探索如何在 Python 环境下轻松集成并高效运用 PP-OCRv5,快速实现文本识别的实战应用,开启智能文档处理的新篇章。
在这里插入图片描述

二、Python 集成 PP-OCRv5 实战代码解析

  来到核心实战环节,我们通过简洁高效的 Python 代码,轻松驾驭 PP-OCRv5 模型,实现文本识别的快速推理。

from paddleocr import PaddleOCR# 创建 PaddleOCR 实例,自定义配置 PP-OCRv5
ocr = PaddleOCR(use_doc_orientation_classify=False,  # 禁用文档方向分类模块use_doc_unwarping=False,  # 禁用文本图像矫正模块use_textline_orientation=False,  # 禁用文本行方向分类模块ocr_version="PP-OCRv5"  # 明确指定使用 PP-OCRv5 版本
)# 执行图片文本预测
result = ocr.predict("./general_ocr_002.png")# 输出识别结果
for res in result:res.print()  # 打印识别文本与位置信息res.save_to_img("output")  # 将识别结果保存为图片res.save_to_json("output")  # 将识别结果保存为 JSON 格式

  在上述 Python 脚本中,执行了如下几个步骤:
(1)通过 PaddleOCR() 实例化 OCR 对象。
(2)调用 OCR 产线对象的 predict() 方法进行推理预测,该方法会返回一个结果列表。另外,产线还提供了 predict_iter() 方法。两者在参数接受和结果返回方面是完全一致的,区别在于 predict_iter() 返回的是一个 generator,能够逐步处理和获取预测结果,适合处理大型数据集或希望节省内存的场景。可以根据实际需求选择使用这两种方法中的任意一种。
(3)对预测结果进行处理,每个样本的预测结果均为对应的Result对象,且支持打印、保存为图片、保存为json文件的操作;
  本文重点介绍 PaddleOCR() 实例化 OCR 对象的具体参数说明。

三、PaddleOCR() 实例化 OCR 对象的参数介绍

  通过 PaddleOCR() 实例化 OCR 产线对象,具体参数说明如下:

参数名称参数说明参数类型默认值
doc_orientation_classify_model_name文档方向分类模型的名称。如果设置为 None,将会使用产线默认模型。str|NoneNone
doc_orientation_classify_model_dir文档方向分类模型的目录路径。如果设置为 None,将会下载官方模型。str|NoneNone
doc_unwarping_model_name文本图像矫正模型的名称。如果设置为 None,将会使用产线默认模型。str|NoneNone
doc_unwarping_model_dir文本图像矫正模型的目录路径。如果设置为 None,将会下载官方模型。str|NoneNone
text_detection_model_name文本检测模型的名称。如果设置为 None,将会使用产线默认模型。str|NoneNone
text_detection_model_dir文本检测模型的目录路径。如果设置为 None,将会下载官方模型。str|NoneNone
textline_orientation_model_name文本行方向模型的名称。如果设置为 None,将会使用产线默认模型。str|NoneNone
textline_orientation_model_dir文本行方向模型的目录路径。如果设置为 None,将会下载官方模型。str|NoneNone
textline_orientation_batch_size文本行方向模型的 batch size。如果设置为 None,将默认设置 batch size 为 1。int|NoneNone
text_recognition_model_name文本识别模型的名称。如果设置为 None,将会使用产线默认模型。str|NoneNone
text_recognition_model_dir文本识别模型的目录路径。如果设置为 None,将会下载官方模型。str|NoneNone
text_recognition_batch_size文本识别模型的 batch size。如果设置为 None,将默认设置 batch size 为 1。int|NoneNone
use_doc_orientation_classify是否加载并使用文档方向分类模块。如果设置为 None,将使用产线初始化的该参数值,默认初始化为 True。bool|NoneNone
use_doc_unwarping是否加载并使用文本图像矫正模块。如果设置为 None,将使用产线初始化的该参数值,默认初始化为 True。bool|NoneNone
use_textline_orientation是否加载并使用文本行方向模块。如果设置为 None,将使用产线初始化的该参数值,默认初始化为 True。bool|NoneNone
text_det_limit_side_len文本检测的图像边长限制。int:大于 0 的任意整数;None:如果设置为 None,将使用产线初始化的该参数值,默认初始化为 64。int|NoneNone
text_det_limit_type文本检测的边长度限制类型。str:支持 min 和 max,min 表示保证图像最短边不小于 det_limit_side_len,max 表示保证图像最长边不大于 limit_side_len;None:如果设置为 None,将使用产线初始化的该参数值,默认初始化为 min。str|NoneNone
text_det_thresh文本检测像素阈值,输出的概率图中,得分大于该阈值的像素点才会被认为是文字像素点。float:大于 0 的任意浮点数;None:如果设置为 None,将使用产线初始化的该参数值(默认为 0.3)。float|NoneNone
text_det_box_thresh文本检测框阈值,检测结果边框内,所有像素点的平均得分大于该阈值时,该结果会被认为是文字区域。float:大于 0 的任意浮点数;None:如果设置为 None,将使用产线初始化的该参数值(默认为 0.6)。float|NoneNone
text_det_unclip_ratio文本检测扩张系数,使用该方法对文字区域进行扩张,该值越大,扩张的面积越大。float:大于 0 的任意浮点数;None:如果设置为 None,将使用产线初始化的该参数值(默认为 2.0)。float|NoneNone
text_det_input_shape文本检测的输入形状。tuple|NoneNone
text_rec_score_thresh文本识别阈值,得分大于该阈值的文本结果会被保留。float:大于 0 的任意浮点数;None:如果设置为 None,将使用产线初始化的该参数值(默认为 0.0,即不设阈值)。float|NoneNone
text_rec_input_shape文本识别的输入形状。tuple|NoneNone
lang使用指定语言的 OCR 模型。附录中的表格中列举了全部支持的语言。str|NoneNone
ocr_versionOCR 模型版本。PP-OCRv5:使用 PP-OCRv5 系列模型;PP-OCRv4:使用 PP-OCRv4 系列模型;PP-OCRv3:使用 PP-OCRv3 系列模型。注意不是每个 ocr_version 都支持所有的 lang,请查看附录中的对应关系表。str|NoneNone
device用于推理的设备。支持指定具体卡号:CPU:如 cpu 表示使用 CPU 进行推理;GPU:如 gpu:0 表示使用第 1 块 GPU 进行推理;NPU:如 npu:0 表示使用第 1 块 NPU 进行推理;XPU:如 xpu:0 表示使用第 1 块 XPU 进行推理;MLU:如 mlu:0 表示使用第 1 块 MLU 进行推理;DCU:如 dcu:0 表示使用第 1 块 DCU 进行推理;None:如果设置为 None,将默认使用产线初始化的该参数值,初始化时,会优先使用本地的 GPU 0 号设备,如果没有,则使用 CPU 设备。str|NoneNone
enable_hpi是否启用高性能推理。boolFalse
use_tensorrt是否启用 Paddle Inference 的 TensorRT 子图引擎。如果模型不支持通过 TensorRT 加速,即使设置了此标志,也不会使用加速。对于 CUDA 11.8 版本的飞桨,兼容的 TensorRT 版本为 8.x(x>=6),建议安装 TensorRT 8.6.1.6。对于 CUDA 12.6 版本的飞桨,兼容的 TensorRT 版本为 10.x(x>=5),建议安装 TensorRT 10.5.0.18。boolFalse
precision计算精度,如 fp32、fp16。str“fp32”
enable_mkldnn是否启用 MKL-DNN 加速推理。如果 MKL-DNN 不可用或模型不支持通过 MKL-DNN 加速,即使设置了此标志,也不会使用加速。boolTrue
mkldnn_cache_capacityMKL-DNN 缓存容量。int10
cpu_threads在 CPU 上进行推理时使用的线程数。int8
paddlex_configPaddleX 产线配置文件路径。str|NoneNone

四、总结

  通过本文的深入讲解,相信大家已经掌握了在 Python 环境下利用 PaddleOCR 快速集成 PP-OCRv5 的全过程。从环境搭建的每一步骤,到实战代码的每个细节,再到关键参数的深层含义,我们对PaddleOCR() 实例化 OCR 对象的参数介绍。如今,你已经具备了将 PP-OCRv5 强大的文本识别能力融入自身项目的能力,无论是处理日常办公文档、优化信息采集流程,还是开展更复杂的智能文档分析项目,都能游刃有余。踏上文本智能处理的新征程,PP-OCRv5 将成为你最得力的助手,助力你在数字化时代浪潮中一往无前。

http://www.dtcms.com/a/263881.html

相关文章:

  • css函数写个loading动画 | css预编译scss使用
  • YOLOv11性能评估全解析:从理论到实战的指标指南
  • GitHub已破4.5w star,从“零样本”到“少样本”TTS,5秒克隆声音,冲击传统录音棚!
  • 智能客服的进化论:当服务遇见 AI 的化学反应
  • 数据结构:递归:斐波那契数列(Fibonacci Sequence)
  • Android布局管理器实战指南:从LinearLayout到ConstraintLayout的优化之旅
  • 计算机网络第十章——网络层
  • 基于Netty-WebSocket构建高性能实时通信服务
  • nginx的管理员启动,停止,重启
  • 前端处理跨域的4种方式
  • uniapp+vue写小程序页面,实现一张图片默认放大后,可以在容器内上下左右拖动查看
  • JavaScript 安装使用教程
  • Web3区块链有哪些岗位?
  • 141.在 Vue 3 中使用 OpenLayers Link 交互:把地图中心点 / 缩放级别 / 旋转角度实时写进 URL,并同步解析显示
  • 【MyBatis保姆级教程下】万字XML进阶实战:配置指南与深度解析
  • python高级变量VIII
  • 转录组分析流程(四):Cox+Lasso筛选预后基因
  • JVM内存模型与垃圾回收机制分析
  • 【java链式调用流操作】
  • Python实现NuScenes数据集可视化:从3D边界框到2D图像的投影原理与实践
  • mac部署dify
  • 笔记/计算机网络
  • 【数据结构】 排序算法
  • beego打包发布到Centos系统及国产麒麟系统完整教程
  • 【文件读取】open | with | as
  • 实体类JavaBean
  • 到底什么是“数字化”?数字化的本质是什么?
  • 从输入到路径:AI赋能的地图语义解析与可视化探索之旅(2025技术全景)
  • 边截图边操作?试试 Snipaste 的浮动贴图功能
  • adc模数转换器