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

Python 实现:OCR在图片中提取文字(基于Gradio实现)

Paddle OCR

PaddleOCR 基于深度学习技术实现的,使用十分简单。

先看效果

在这里插入图片描述
在这里插入图片描述

可以看出来识别效果还是不错的,里面的“湿”字识别成了繁体字。如果不是连体字,就不会出现这个问题。

1.测试环境

操作系统:Win10
Python:3.10

2.安装PaddlePaddle库

pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple(自行选择镜像源)

3.下载PaddleOCR库

git clone https://github.com/PaddlePaddle/PaddleOCR

也可以选择直接DownLoad下载文件解压到本地

4.安装依赖包

进入PaddleOCR文件夹下:

> cd PaddleOCR

安装第三方依赖:

pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple

5.详细代码

from pprint import pprint  
from paddleocr import PaddleOCR  
import gradio as gr  ocr = PaddleOCR(use_angle_cls=True, lang="ch")  def process(image):  result = ocr.ocr(image)  # return resultoutput_text = ""  # 初始化输出文本变量for sublist in result:for line in sublist:text = line[1][0]  # 提取文本output_text += text + "\n"  # 将文本追加到输出文本变量,并添加换行符pprint(output_text)return output_textiface = gr.Interface(fn=process, inputs="image", outputs="text",title="图片OCR提取文字", iface.launch()  

注意:这里result原先返回的还有坐标信息以及置信度,这里经过处理只返回了识别后的文本信息。如果需要坐标信息,可以直接返回result。

相关文章:

Python 实现:OCR在图片中提取文字(基于Gradio实现)

Paddle OCR PaddleOCR 基于深度学习技术实现的,使用十分简单。 先看效果 可以看出来识别效果还是不错的,里面的“湿”字识别成了繁体字。如果不是连体字,就不会出现这个问题。 1.测试环境 操作系统:Win10 Python:3…...

idea插件开发报错: ZipException opening “slf4j.jar“: zip END header not found

错误信息 E:\idea-workspace\#idea-plugin\JSON2Object\src\main\java\com\hgy\plugin\json2object\GenerateAction.java:1: 错误: 无法访问com.hgy.plugin.json2object package com.hgy.plugin.json2object; ^ZipException opening "slf4j.jar": zip END header no…...

【Linux】多线程编程

目录 1. 线程基础知识 2. 线程创建 3. 线程ID(TID) 4. 线程终止 5. 线程取消 6. 线程等待 7. 线程分离 8. 线程互斥 8.1 初始化互斥量 8.2 销毁互斥量 8.3 互斥量加锁和解锁 9. 可重入和线程安全 10. 线程同步之条件变量 10.1 初始化条件变…...

【Mysql】InnoDB的表空间(九)

概述 表空间是一个在 InnoDB 中比较抽象的概念,对于系统表空间来说,对应着文件系统中一个或多个实际文件;而对于每个独立表空间来说,对应着文件系统中一个名为表名.ibd 的实际文件。可以把表空间想象成由很多个页组成的池子&…...

【09】ES6:Set 和 Map 数据结构

一、Set 1、基本语法 定义 Set 是一系列无序、没有重复值的数据集合。数组是一系列有序(下标索引)的数据集合。 Set 本身是一个构造函数,用来生成 Set 数据结构。 const s new Set() [2, 3, 5, 4, 5, 2, 2].forEach(x > s.add(x))fo…...

Java通过documents4j和libreoffice把word转为pdf

文章目录 word转pdf的相关第三方jar说明Linux系统安装LibreOffice在线安装离线安装word转pdf验证 Java工具类代码 word转pdf的相关第三方jar说明 docx4j 免费开源、稍微复杂点的word,样式完全乱了,且xalan升级为2.7.3后会报错。poi 免费开源、官方文档少…...

物联网时代的访问控制研究综述

A survey on Access Control in the Age of Internet of Things 文章目录 A B S T R A C T引言A. Comparison Between This Paper and Existing SurveysB. Contributions II.ACCESS CONTROL BACKGROUNDIII. ACCESS CONTROL CHALLENGES IN IOT SEARCHA. Characteristics of IoT …...

【产品经理】需求池和版本树

在这个人人都是产品经理的时代,每位入行的产品人进阶速度与到达高度各有不同。本文作者结合自身三年产品行业的经历,根据案例拆解产品行业的极简研发过程、需求池、版本树、产品自我优化等相关具体方法论。 一、产品研发的极简过程 1. 产品概述 产品就…...

Qt图像处理-OpenCv中Mat与QImage互转

Qt图像处理时需要OpenCv中Mat与QImage互转,具体代码如下 创建EditPhoto,头文件,使用前需要配置好opencv #include <QObject> #include <QImage> #include <QDebug>#include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> …...

构建外卖小程序:技术代码实践

在这个数字化的时代&#xff0c;外卖小程序已经成为餐饮业的一项重要工具。在本文中&#xff0c;我们将通过一些简单而实用的技术代码&#xff0c;向您展示如何构建一个基本的外卖小程序。我们将使用微信小程序平台作为例子&#xff0c;但这些原理同样适用于其他小程序平台。 …...

IDEA中显示方法、类注释信息

目录 一、IDEA测试版本及环境二、操作步骤2.1 鼠标悬停在某一个方法上&#xff0c;从而显示方法的注释信息2.2 调用方法时同步显示方法注释信息2.3 在new一个对象时&#xff0c;这个对象有很多重载的构造方法&#xff0c;想要重载的构造函数都显示出来 一、IDEA测试版本及环境 …...

《数据结构、算法与应用C++语言描述》- 堆排序 - 借助priority_queue的C++实现

堆排序 完整可编译运行代码见&#xff1a;Github::Data-Structures-Algorithms-and-Applications/_27HeapSort 定义 借助堆进行排序。先用n个待排序的元素初始化一个小根堆&#xff0c;然后从堆中逐个提取(即删除元素)元素。初始化的时间复杂度为O(n)&#xff0c;大根堆中每…...

10.CSS浮动

CSS浮动 1.介绍 在最初&#xff0c;浮动是用来实现文字环绕图片效果的&#xff0c;现在浮动是主流的页面布局方式之一 2.作用 让元素脱离标准流&#xff0c;同一级的浮动的元素可以并排在一排显示 3.元素浮动后的特点 脱离文档流不管浮动前是什么元素&#xff0c;浮动后&…...

Angular 2 学习笔记

Angular 2 应用主要由以下 几个部分组成&#xff1a; 1、模块 (Modules)&#xff1a; 2、组件 (Components)&#xff1a; 3、模板 (Templates)​​​​​​​&#xff1a; 4、元数据 (Metadata)&#xff1a; 5、数据绑定 (Data Binding) 6、指令 (Directives) 7、服务 (Servic…...

xcode 修改 target 中设备朝向崩溃

修改xcode的target中的设备朝向导致崩溃。 从日志上看好像没有什么特别的信息。 之后想了想&#xff0c;感觉这个应该还是跟xcode的配置有关系&#xff0c;不过改动的地方好像也只有plist。 就又翻腾了半天plist中的各种配置项&#xff0c;再把所有的用户权限提示相关的东西之…...

ZLMediaKit 编译以及测试(Centos 7.9 环境)

文章目录 一、前言二、编译器1、获取代码2、编译器2.1 编译器版本要求2.2 安装编译器 3、安装cmake4、依赖库4.1 依赖库列表4.2 安装依赖库4.2.1 安装libssl-dev和libsdl-dev4.2.2 安装 ffmpeg-devel依赖和ffmpeg依赖 三、构建和编译项目&#xff08;启用WebRTC功能&#xff09…...

汽车清除积碳和清洗节气门

汽车清除积碳和清洗节气门 汽车需要清除积碳的部位检查积碳方法&#xff1a; 清除积碳和清洗节气门风险&#xff1a;燃油宝 第一次清除积碳1万公里2万公里3万公里--5万公里6万公里以上 汽车需要清除积碳的部位 节气门喷油嘴进气道燃烧室 检查积碳方法&#xff1a; 建议每3到5…...

RocketMQ 总体概括

目录 概述RocketMQ 领域模型MQ 解决的问题电商平台案例初步设计引入中间件设计 MQ 选型结束 概述 官网地址 RocketMQ 领域模型 官方领域模型概述 下面图&#xff0c;是在自己理解的基础上&#xff0c;对官方的模型图添加了一些。 Topic&#xff1a;主题&#xff0c;可以理解…...

使用qemu在arm上模拟x86并运行docker

背景 有一个x86的docker镜像&#xff0c;但是需要运行在aarch64(arm64)上&#xff0c;无奈只能用qemu模拟x86的架构&#xff0c;但是最终没有实现。 原因分析&#xff1a;可能是使用的server版本的ubuntu镜像&#xff0c;建议之后换用desktop版本的ubuntu18镜像&#xff08;猜…...

IIS配置多域名跨域

搜索了一轮&#xff0c;自己实践发现iis中填多条Access-Control-Allow-Origin记录、逗号分隔、正则表达式这些是不行的。另外好像无论Ngxin还是Tomcat等都要rewrite之类的方法。由于仅仅是测试&#xff0c;所以暂时用*通配符算了。记录一下参考&#xff0c;要的时候再研究 CORS…...

揭秘抖音批量采集神器:从技术内核到实战突破

揭秘抖音批量采集神器&#xff1a;从技术内核到实战突破 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 在数字内容创作与研究的浪潮中&#xff0c;抖音作为全球最大的短视频平台&#xff0c;其丰富的内容资…...

从数据清洗到游戏开发:C++ std::string替换函数的5个意想不到的妙用

从数据清洗到游戏开发&#xff1a;C std::string替换函数的5个意想不到的妙用 在C开发者的日常工作中&#xff0c;std::string的替换操作常被视为基础技能&#xff0c;但它的潜力远不止于简单的文本处理。当我们将视线投向更广阔的领域——从游戏开发到数据工程&#xff0c;从安…...

手把手教你用哥斯拉Godzilla搭建渗透测试环境(附常见错误解决方案)

实战指南&#xff1a;Windows环境下渗透测试工具的高效配置与排错 在网络安全领域&#xff0c;渗透测试工具的正确配置往往是技术实践的第一步门槛。对于刚接触安全测试的新手来说&#xff0c;从零开始搭建环境不仅需要清晰的步骤指引&#xff0c;更需要理解每个环节可能出现的…...

从4.69万亿Token看中国AI大模型:调用量超越美国的背后逻辑

前言最近看到一组数据&#xff1a;截至2026年3月15日&#xff0c;中国AI大模型的周调用量达到4.69万亿Token&#xff0c;连续第二周超越美国&#xff0c;全球前三全部被中国模型包揽。作为一个长期关注AI行业的技术人&#xff0c;这个消息让我想深入挖一挖背后的逻辑&#xff1…...

Qwen3.5-35B-A3B-AWQ-4bit图文对话教程:如何利用上下文长度4096做长图分析

Qwen3.5-35B-A3B-AWQ-4bit图文对话教程&#xff1a;如何利用上下文长度4096做长图分析 1. 引言&#xff1a;当AI学会“看图说话” 想象一下&#xff0c;你拿到一张复杂的流程图、一张信息密集的仪表盘截图&#xff0c;或者一张包含大量文字和图表的长图。你不仅想知道图上有什…...

Transformer回顾与BERT模型学习:小白程序员必备收藏指南

本文首先回顾了Transformer模型的基本结构和输入方式&#xff0c;包括词嵌入和位置编码。接着介绍了BERT模型架构&#xff0c;作为Transformer的改进版本&#xff0c;BERT只保留编码器部分&#xff0c;并详细解释了其不同版本的结构特点。文章还讨论了BERT的输入表示&#xff0…...

深入解析C++菱形继承:虚基表的内存布局与优化策略

1. 菱形继承的本质问题 我第一次遇到菱形继承问题时&#xff0c;正在开发一个教育管理系统。当时需要设计Assistant类继承Student和Teacher&#xff0c;结果发现这两个父类都有从Person继承的_age成员。这导致每个Assistant对象里存了两份_age——这就是典型的数据冗余问题。 …...

告别WechatRealFriends:WeFriends帮你实现微信好友关系管理无缝过渡

告别WechatRealFriends&#xff1a;WeFriends帮你实现微信好友关系管理无缝过渡 【免费下载链接】WechatRealFriends 微信好友关系一键检测&#xff0c;基于微信ipad协议&#xff0c;看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRe…...

Cursor Pro功能优化工具:提升AI编程体验的完整指南

Cursor Pro功能优化工具&#xff1a;提升AI编程体验的完整指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial …...

用Python和Pandas手把手教你计算股票技术指标(MA、MACD、KDJ、RSI、OBV保姆级代码)

用Python和Pandas实现股票技术指标全解析&#xff1a;从数据清洗到策略回测 在量化投资领域&#xff0c;技术指标分析是识别市场趋势、判断买卖时机的重要工具。对于刚接触Python数据分析的投资者来说&#xff0c;如何将教科书上的指标公式转化为可执行的代码往往是个挑战。本文…...