Python自动化办公——提取图片上的文字(OCR)
off999 2024-12-03 17:15 19 浏览 0 评论
使用Python自动化办公时,当我们需要识别/提取别的软件上的文字信息时,可以使用OCR技术,即先截图,然后识别图片上的文字。
Python识别图片上文字的方式
1. 使用OCR技术:OCR(Optical Character Recognition,光学字符识别)是一种将图像中的文字转换为可编辑文本的技术。Python中有多个OCR库可供使用,如Tesseract、pytesseract、OCRopus等。
2. 使用深度学习模型:深度学习模型可以通过训练来识别图像中的文字。这种方式应用比较广泛,除了可以识别文字,还可以进行图像识别,比如人脸识别。
3. 使用传统的图像处理技术:传统的图像处理技术可以通过对图像进行预处理、分割、特征提取等步骤来识别图像中的文字。Python中有多个图像处理库可供使用,如OpenCV、Pillow等。
综上所述,识别文字,最合适的还是OCR技术,本节也只学习OCR技术。
Python识别图片上文字的方式
1. 使用Tesseract OCR引擎:Tesseract是一个开源的OCR引擎,由Google开发。Python中可以使用pytesseract库来调用Tesseract进行OCR识别。它的优点是识别准确率高,支持中英等多种语言。缺点是对于复杂的图像和文档格式支持不够好。我们就采用这种方式吧。
2. 使用OCRopus:OCRopus是一个基于Python的OCR框架,可以用于训练和识别OCR模型。它的优点是支持多种OCR技术和模型,可以自定义训练模型,且对于复杂的图像和文档格式支持较好。缺点是学习曲线较陡峭,需要一定的编程和机器学习知识。
3. 使用EasyOCR:EasyOCR是一个基于深度学习的OCR库,可以识别多种语言的文字。它的优点是识别准确率高,支持多种语言和字体。第一次使用时需下载他训练好的模型。
4. 使用百度/阿里等OCR API:这些云API功能强大,但需联网且不免费。
python使用Tesseract OCR
1、安装Tesseract OCR引擎
先到这里下载安装引擎:https://digi.bib.uni-mannheim.de/tesseract/
当前最新的是5.3.1,就选最新的这一条吧。
安装到这一步时注意,把下面两个展开,勾选中文数据,这样才能识别中文,如下图:
然后一路下一步,就完成啦!
然后还需要将其加入环境变量,默认安装路径为:C:\Program Files\Tesseract-OCR,加入到Path里面就可以了。
2、Python代码调用引擎的方式
pytesseract常用的有3个方法:
1. image_to_string函数:该函数可以对图片进行OCR识别,返回识别结果。函数的参数为加载的图片对象,可以指定识别语言、识别配置等参数。例如:
import pytesseract
from PIL import Image
# 加载图片
img = Image.open('test.png')
# 调用pytesseract库进行识别
text = pytesseract.image_to_string(img, lang='eng', config='--psm 6')
# 输出识别结果
print(text)2. image_to_boxes函数:该函数可以对图片进行OCR识别,返回每个字符的位置和大小信息。例如:
import pytesseract
from PIL import Image
# 加载图片
img = Image.open('test.png')
# 调用pytesseract库进行识别
boxes = pytesseract.image_to_boxes(img, lang='eng')
# 输出每个字符的位置和大小信息
for b in boxes.splitlines():
b = b.split(' ')
print(b[0], b[1], b[3], b[4])3. image_to_data函数:该函数可以对图片进行OCR识别,返回每个识别结果的详细信息,包括位置、大小、置信度等。例如:
import pytesseract
from PIL import Image
# 加载图片
img = Image.open('test.png')
# 调用pytesseract库进行识别
data = pytesseract.image_to_data(img, lang='eng', output_type=pytesseract.Output.DICT)
# 输出每个识别结果的详细信息
for i, text in enumerate(data['text']):
print(text, data['left'][i], data['top'][i], data['width'][i], data['height'][i], data['conf'][i])
3、测试
我准备了一些图片,来测试一下识别效果。
代码如下:
import pytesseract
from PIL import Image
img = Image.open('images/testocr_1.png')
text = pytesseract.image_to_string(img, lang='chi_sim')
print(text)原图及识别结果如下:
这张图是我在百度上随便截取的一张图,可以看到识别的结果有一些错别字,但整体效果还可以。
这张是天天基金上的截图,大部分正确,也还行。
关于数字的识别基本正确。识别结果排版很乱,实际使用时,可以先将图片切割成一小块一小块,然后识别即可。
验证码的识别是有一定难度的,建议使用专业的工具。
百度图片上随便找了两个证件照,基本无法正确识别。还是得专业工具来。
这张图是我随便拍的一张照片,由于书并未放平,中间有一些凸出,导致识别结果不是很理想。如果放平效果应该会好一些。
总结
本次学习调研结束,Tesseract是基本可以满足自动化办公的需求。自动化办公中大多是屏幕上的截图,识别效果还是可以的。
相关推荐
- 登录126邮箱入口(登录126邮箱入口官网)
-
126邮箱是网易的一个免费邮箱登录入口在浏览器输入:mail.126.com浏览器进入126邮箱网站之后,即可自行登录126邮箱账号。如何在手机上登录126邮箱1、打开手机,找到并打开网易邮箱软件。2...
- 如何让防火墙允许某个软件(如何允许防火墙阻止访问)
-
1.打开电脑的开始菜单,找到控制面板选项,并点击打开。2.在打开的控制面板中,找到防火墙选项,并点击打开。3.在打开的防火墙界面中,单击左侧的允许程序通过防火墙选项。4.在跳转的界面中,选择允许通过防...
-
- 智慧工厂管理系统(智慧工厂管理系统哪家好)
-
智慧工厂智能化系统整体的解决方案分为三个主要部分,分别是现场控制系统(FDC)、生产数据管理系统(PDM)以及工厂数字化协同平台(LCT)。其中,现场控制系统(FDC)是智慧工厂系统非常重要的核心组成部分,它是一个支持大规模互联的集群控制系...
-
2025-11-13 22:03 off999
- 电脑如何打开隐藏文件(电脑怎么打开隐藏文件夹)
-
要显示隐藏文件,首先需要打开文件资源管理器,然后点击菜单栏中的“查看”选项,选中“隐藏项目”复选框即可。此时,隐藏文件和文件夹将会显示在文件资源管理器中,可以进行正常操作。如果需要隐藏文件和文件夹,可...
- 华硕官网客服电话(华硕官网400客服电话)
-
华硕维修中心官网,http://www.asus.com.cn/support/你可以通过电话,邮件等方式联系华硕的售后客户,提供你的主板序列号,他会告诉你的。华硕ROG真享服务包是一项专门针对购买华...
- win11如何进入安全模式(win11如何进入安全模式启动)
-
进入Win11安全模式有多种方法,下面介绍两种常用的方法:方法一:使用系统配置工具1.使用组合键Win+R打开“运行”对话框,输入“msconfig”并按Enter键。2.在“系统配...
- 网易邮箱163登录界面(网易163邮箱登陆界面)
-
163邮箱登录首页入口为http://mail.163.com/网易163免费邮箱--中文邮箱第一品牌.容量自动翻倍,支持50兆附件,免费开通手机号码邮箱赠送3G超大附件服务.支持各种客户端软件收发,...
- win10激活注意事项(win10激活过程要多久)
-
1.是:KMS激活、数字许可证激活、产品密钥激活。2.KMS激活是通过KeyManagementService服务器来激活系统,它需要连接到企业内部的KMS服务器进行激活,适用于企业用户。数字...
- 华硕官网正品查询(华硕官网防伪查询)
-
登陆网站www.asus.com.cn进入网站,点击防伪查询,输入16位防伪数码,即可辨别真伪。华硕显卡sn码官网查1.打开浏览器进入华硕官方网站。2.在页面下方找到“华硕产品服务政策”类目,点击进入...
- 数据网络打开了连不上网怎么回事
-
1、如您无法上网请尝试关机开机重启;请检查是否已达本月流量封顶阀值;请检查手机设置移动数据是否已打开;手机设置流动数据选项APN及名称是否设置为3gnet。2、如仍无法上网,建议您可通过以下方式进行排...
- synopsys软件(synthia软件)
-
PSIM是趋向于电力电子领域以及电机控制领域的仿真应用包软件。PSIM具有仿真高速、用户界面友好、波形解析等功能,为电力电子电路的解析、控制系统设计、电机驱动研究等有效提供强有力的仿真环境。本...
- cmd定时关机命令设置时间(cmd定时关机怎么设置)
-
在WindowsXP下打开C盘,在Windows下选system32中有一个shutdown的程序,可以复制到其它系统中。“开始”--->运行--->(在输入shutdown的命令)...
- 笔记本电脑开机就蓝屏(笔记本电脑开机就蓝屏了)
-
USB: 假如计算机处于开机的状态时USB接口上有U盘等存储设备,那么计算机就很有可能出现蓝屏现象,而且无法正常开机。因此,当计算机在开机时出现蓝屏状态时,我们首先要检查一下USB接口是否有接入U...
- 重置无线路由器(重置无线路由器密码)
-
1、将网线—路由器—电脑之间的线路连接好,启动电脑和路由器设备;2、启动设备后,打开浏览器,在地址栏中输入192.168.1.1进入无线路由器设置界面。(如进不了请翻看路由器底部铭牌或者是路由器使用说...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
