python使用PaddleOCR实现《命名实体识别项目》OCR(已实现)(ai领域必看,简单易用)

1.简介:

PaddleOCR是飞桨(PaddlePaddle)推出的一个端到端的光学字符识别开源工具集,支持中文、英文、数字以及特殊符号等各种类型的文字检测、识别和词语整体识别。该工具集使用PaddlePaddle深度学习框架技术,提供了多种OCR模型和算法,包括基于CNN+CTC、DenseNet+CTC等模型,能够针对不同场景和应用提供最优的OCR解决方案。同时,PaddleOCR还集成了OCR精度评估工具,可以快速地评估OCR模型的准确率和鲁棒性。除此之外,PaddleOCR还提供了丰富的API接口和命令行工具,使得用户可以轻松地进行OCR应用的开发和部署。

PaddleOCR除了支持通用文字识别外,还具备大量针对特定领域或行业的OCR功能,例如身份证/银行卡实现、表格识别、汽车VIN码识别、发票识别、名片识别等。相比其他OCR工具,PaddleOCR在识别精度、效率和扩展性等方面都有着较好的表现和广泛的适用性,是目前业内较为流行和优秀的OCR工具之一。

2.安装部署

PaddleOCR的安装较为简单,直接在终端用pip安装即可,共三部分:

pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install shapely -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install paddleocr -i https://pypi.tuna.tsinghua.edu.cn/simple/

tips:运行第三步的时候可能报错:

PyMuPDF/setup.py: extra_link_args=['mupdf-1.20.3-source/build/release/libmupdf.a', 'mupdf-1.20.3-source/build/release/libmupdf-third.a']running bdist_wheelrunning buildrunning build_pyrunning build_extbuilding 'fitz._fitz' extensionswigging fitz/fitz.i to fitz/fitz_wrap.cswig -python -o fitz/fitz_wrap.c fitz/fitz.ierror: command 'swig' failed: No such file or directory[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.ERROR: Failed building wheel for PyMuPDFRunning setup.py clean for PyMuPDF
Failed to build PyMuPDF
ERROR: Could not build wheels for PyMuPDF, which is required to install pyproject.toml-based projects

解决方法:这个错误信息表示在安装 PyMuPDF 时出现了问题,可能是因为缺少 swig 工具。swig 是一个用于将 C/C++ 代码转换为 Python 可调用接口的工具,PyMuPDF 使用 swig 来生成 Python 接口。你需要先安装 swig 才能成功安装 PyMuPDF。

使用以下命令来安装 swig:

sudo apt-get install swig

然后再重新安装 PyMuPDF即可安装成功。

3.应用简单项目:

from paddleocr import PaddleOCR
ocr = PaddleOCR(use_angle_cls=True, lang="ch")
#要识别图片的路径:
img_path = r"./1.png"
#识别结果:
result = ocr.ocr(img_path, cls=True)
#结果输出展示:
for line in result[0]:print(line)

paddle识别输出结果包含三部分内容:识别文字在图中的位置boxes、识别出来的文本txts、识别结果置信度scores。
这三分存放在result列表中。其结构是这样的:

[[
[第一行的位置,(第一行的内容,得分)],
[第二行的位置,(第二行的内容,得分)],
[第三行的位置,(第三行的内容,得分)]
  ]]

由于boxes、txts、scores混合在列表中不方面使用,这里我们在识别结果的基础上把最终识别内容提取出来:

boxes = []
txts = []
scores = []
for line in result[0]:txts.append(line[1][0])
print("txts:")
for i in range(len(txts)):#原格式文本输出print (txts[i])#输出不换行#print (txts[i],end = "")

4.本人案例实现

from paddleocr import PaddleOCR
ocr = PaddleOCR(use_angle_cls=True, lang="ch")
#要识别图片的路径:
img_path = r"./2.png"
#识别结果:
result = ocr.ocr(img_path, cls=True)
#结果输出展示:
#for line in result[0]:
#    print(line)boxes = []
txts = []
scores = []
for line in result[0]:txts.append(line[1][0])print("txts:")
for i in range(len(txts)):#原格式文本输出print (txts[i])

待识别的图像2.png

识别结果:

tips:

1.识别时候三从上到下按行识别。

2.身份证/银行卡实现、表格识别、汽车VIN码识别、发票识别、名片识别等。相比其他OCR工具,PaddleOCR在识别精度、效率和扩展性等方面都有着较好的表现和广泛的适用性,是目前业内较为流行和优秀的OCR工具之一。

3.PaddleOCR 库可以处理倾斜、歪曲或旋转的图片。通过启用角度分类功能 (use_angle_cls=True),PaddleOCR 可以检测并自动校正这些图像的角度。

项目地址:ocr: 利用PaddleOCR识别图片文字icon-default.png?t=N7T8https://gitee.com/qu-zhijie-666/ocr.git
参考链接:https://blog.csdn.net/weixin_67147229/article/details/130435525

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

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

相关文章

Likeshop多商户商城源码系统,支持二开

在电商行业高速发展的当下,拥有一套功能强大、易于操作的开源商城系统至关重要。Likeshop多商户商城系统正是这样一款集H5、小程序、独立APP于一体的开源电商解决方案,助力商家实现智能营销。 一、产品简介 Likeshop多商户商城系统为商家提供了丰富的营…

Spring Boot 中 Service 层依赖注入问题

目录 问题描述 产生错误 问题原因 解决方法 手动注入方法 1、使用工具集 hutool,引入 Maven 依赖 2、编写 SpringUtil 工具类 问题描述 Controller 层方法为 static 静态,引入 Service 层时使用 Autowired 注解自动装配,Controller层方…

C#用 DateAndTime.DateAdd方法和DateTime.Add(TimeSpan) 方法分别添加一段时间间隔

目录 一、基本方法 1.用 DateAndTime.DateAdd方法添加一段时间间隔 2.用DateTime.Add方法添加一段时间间隔 二、实例 1.实例1:用 DateAndTime.DateAdd方法 2.实例2:用DateTime.Add方法 一、基本方法 1.用 DateAndTime.DateAdd方法添加一段时间间隔…

CentOS7 安装Nginx,网站部署、请求转发

文章目录 前言1. 安装2. 启动3. 开机启动4. 检查Nginx服务的状态5. 简单部署项目6. 检查Nginx配置7. 重新加载Nginx配置启动错误错误分析端口权限解决方法完整部署项目nginx.conf 配置文件证书配置、请求转发前言 Nginx是一款高性能的Web服务器和反向代理服务器,被广泛用于构…

Android发展历程及安装

目录 发展历程 下载网址 安装过程 发展历程 安卓基于Linux内核,Linux内核相当于房屋的地基 开源不等于免费,不能商用 安卓一般每半年小更新,一年大更新 对应API相当于别名 现在安卓安全性越来越高,性能越来越快&#xff0c…

2024年预制菜行业市场发展趋势分析(2021-2023年预制菜行业数据分析)

近期,老干妈被称为预制菜、预制菜国标报送稿出炉等事件再次引起大众对于预制菜市场的讨论。随着国家对预制菜审核标准的严格化,预制菜市场未来走向将会如何?鲸参谋带大家从数据角度来了解。 首先来看下预制菜市场的行业发展情况。 根据鲸参…

浅聊ansible的幂等 file模块源码解析

描述# 幂等性是在实际应用中经常需要考虑的概念,尤其是运维中。相较于将幂等性理解为各种异常情况的综合处理,将其理解为执行时需要考虑到在前次执行产生的影响的情况下能够正常执行则会更加容易接近业务需求。   ansible包含众多的模块,大…

第3章:Python 的函数和模块(基于最新版 Python3.12 编写)

文章目录 3.1 函数:编写你的代码乐曲3.1.1 什么是函数?3.1.2 如何定义函数?3.1.3 如何调用函数?3.1.4 函数的返回值3.1.5 函数的文档字符串3.1.6 默认参数值3.1.7 可变数量的参数3.1.8 局部变量和全局变量3.1.9 递归函数 3.2 模块…

蓝桥杯备赛 week 4 —— DP 背包问题

目录 🌈前言🌈: 📁 01背包问题 分析: dp数组求解: 优化:滚动数组: 📁 完全背包问题 📁 总结 🌈前言🌈: 这篇文章主…

大数据就业方向-(工作)ETL开发

上一篇文章: 大数据 - 大数据入门第一篇 | 关于大数据你了解多少?-CSDN博客 目录 🐶1.ETL概念 🐶2. ETL的用处 🐶3.ETL实现方式 🐶4. ETL体系结构 🐶5. 什么是ETL技术? &…

每日OJ题_算法_二分查找⑧_力扣LCR 173. 点名

目录 力扣LCR 173. 点名 解析代码 力扣LCR 173. 点名 LCR 173. 点名 - 力扣(LeetCode) 难度 简单 某班级 n 位同学的学号为 0 ~ n-1。点名结果记录于升序数组 records。假定仅有一位同学缺席,请返回他的学号。 示例 1: 输入: records …

力扣0087——扰乱字符串

扰乱字符串 难度:困难 题目描述 使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 如果字符串的长度为 1 ,算法停止如果字符串的长度 > 1 ,执行下述步骤: 在一个随机下标处将字符串分割成两个非空的子字符串…

c# cad PromptSelectionResult批量选择 PromptEntityOptions选择单个实体介绍

一、PromptSelectionResult : 是 AutoCAD .NET API 中的一个类,位于 Autodesk.AutoCAD.EditorInput 命名空间下。它代表了用户在 AutoCAD 编辑器中进行图形对象选择操作的结果。 当你通过 Editor 类的 GetSelection() 方法(或者其他类似的方…

MySQL JSON数据类型全解析(JSON datatype and functions)

JSON(JavaScript Object Notation)是一种常见的信息交换格式,其简单易读且非常适合程序处理。MySQL从5.7版本开始支持JSON数据类型,本文对MySQL中JSON数据类型的使用进行一个总结。 目录 一、MySQL中的JSON 1.1 JSON数据格式 1.2 …

11. 发送邮件

1. 简介 Spring Boot 收发邮件最简便方式是通过 spring-boot-starter-mail。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dependency>spring-boot-starter-mail 本质…

hive - explode 用法以及练习

hive explode 的用法以及练习 一行变多行 explode 例如&#xff1a; 临时表 temp_table &#xff0c;列名为1st 1st1,2,34,5,6 变为 1 2 3 4 5 6 方式一&#xff1a;直接使用 explode select explode(split(1st,,)) from temp_table;方式二&#xff1a;使用 lateral view…

spring-boot-starter-validation常用注解

文章目录 一、使用二、常用注解三、Valid or Validated &#xff1f;四、分组校验1. 分组校验的基本概念2. 定义验证组3. 应用分组到模型4. 在控制器中使用分组5. 总结 一、使用 要使用这些注解&#xff0c;首先确保在你的 Spring Boot 应用的 pom.xml 文件中添加了 spring-bo…

Java问题排查工具集

Java 问题排查工具箱 n 默认值相关问题 l -XX:PrintFlagsFinal || jinfo -flags n 类装载相关问题 l -XX:TraceClassLoading n 应用无响应相关问题 l sar 等系统指标 l jstack [-l] [-m] Java 问题排查工具箱 n 内存相关问题 l -XX:HeapDumpOnOutOfMemoryEr…

探秘Dmail:Web3世界的通讯引领者

摘要&#xff1a;在一个充满潜力并且对创新要求严格的领域中&#xff0c;Dmail作为一种开创性的Web3通讯协议应运而生。 1月24日&#xff0c;OKX Jumpstart宣布上线Dmail&#xff0c;在Web3领域引起了巨大反响&#xff0c;这是一个旨在重新定义数字通讯范式的富有远见的项目&a…

#资源#llm训练 获取数据集的网站

llm训练需要获取数据&#xff0c;互联网上会有一些别人开源的数据集&#xff0c;我们可以拿来即用 https://github.com/huggingface/datasets https://huggingface.co/datasets 支持使用python直接调取&#xff0c;譬如squad_dataset load_datasets(“squad”)。 https://dat…