【PaddleOCR】快速集成 PP-OCRv5 的 Python 实战秘籍--- 实例化 OCR 对象的 predict() 方法介绍

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

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

在这里插入图片描述

@[TOC](【PaddleOCR】快速集成 PP-OCRv5 的 Python 实战秘籍— 实例化 OCR 对象的 predict() 方法介绍)
用 OCR 产线对象的 predict() 方法进行推理预测

一、引言

  在数字化浪潮的推动下,光学字符识别(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 对象的 predict() 方法进行推理预测的具体参数说明。

三、OCR 对象的 predict() 方法进行推理预测的具体参数介绍

  调用 OCR 产线对象的 predict() 方法进行推理预测,该方法会返回一个结果列表。另外,产线还提供了 predict_iter() 方法。两者在参数接受和结果返回方面是完全一致的,区别在于 predict_iter() 返回的是一个 generator,能够逐步处理和获取预测结果,适合处理大型数据集或希望节省内存的场景。可以根据实际需求选择使用这两种方法中的任意一种。以下是 predict() 方法的参数及其说明:

参数名称 参数说明 参数类型 默认值
input 待预测数据,支持多种输入类型,必填。
Python Var:如 numpy.ndarray 表示的图像数据;
str:如图像文件或者 PDF 文件的本地路径:/root/data/img.jpg;如 URL 链接,如图像文件或 PDF 文件的网络 URL:示例;如本地目录,该目录下需包含待预测图像,如本地路径:/root/data/(当前不支持目录中包含 PDF 文件的预测,PDF 文件需要指定到具体文件路径);
list:列表元素需为上述类型数据,如 [numpy.ndarray, numpy.ndarray],[“/root/data/img1.jpg”, “/root/data/img2.jpg”],[“/root/data1”, “/root/data2”]。
Python Var str
use_doc_orientation_classify 是否在推理时使用文档方向分类模块。 bool None
use_doc_unwarping 是否在推理时使用文本图像矫正模块。 bool None
use_textline_orientation 是否在推理时使用文本行方向分类模块。 bool None
text_det_limit_side_len 参数含义与实例化参数基本相同。设置为 None 表示使用实例化参数,否则该参数优先级更高。 int None
text_det_limit_type 参数含义与实例化参数基本相同。设置为 None 表示使用实例化参数,否则该参数优先级更高。 str None
text_det_thresh 参数含义与实例化参数基本相同。设置为 None 表示使用实例化参数,否则该参数优先级更高。 float None
text_det_box_thresh 参数含义与实例化参数基本相同。设置为 None 表示使用实例化参数,否则该参数优先级更高。 float None
text_det_unclip_ratio 参数含义与实例化参数基本相同。设置为 None 表示使用实例化参数,否则该参数优先级更高。 float None
text_rec_score_thresh 参数含义与实例化参数基本相同。设置为 None 表示使用实例化参数,否则该参数优先级更高。 float None

四、总结

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

你可能感兴趣的:(【PaddleOCR】快速集成 PP-OCRv5 的 Python 实战秘籍--- 实例化 OCR 对象的 predict() 方法介绍)