当前位置:首页 > 科技  > 软件

如何使用Python中的OCR技术将图像中的文本提取为可编辑文件?

来源: 责编: 时间:2023-09-28 10:07:55 427观看
导读1、安装和配置Pytesseract库Pytesseract是Python的一个OCR库,它是Tesseract OCR引擎的Python封装。在使用Pytesseract之前,需要先安装Tesseract OCR引擎和Pytesseract库。可以使用以下命令在Linux系统中安装Tesseract O

AW728资讯网——每日最新资讯28at.com

1、安装和配置Pytesseract库

Pytesseract是Python的一个OCR库,它是Tesseract OCR引擎的Python封装。在使用Pytesseract之前,需要先安装Tesseract OCR引擎和Pytesseract库。可以使用以下命令在Linux系统中安装Tesseract OCR和Pytesseract库:AW728资讯网——每日最新资讯28at.com

sudo apt-get install tesseract-ocrsudo apt-get install libtesseract-devpip install pytesseract

在Windows系统中,可以从Tesseract OCR的官方网站(https://github.com/UB-Mannheim/tesseract/wiki)下载安装包,然后使用以下命令安装Pytesseract库:AW728资讯网——每日最新资讯28at.com

pip install pytesseract

2、识别图片中的文本

使用Pytesseract库识别图片中的文本非常简单。首先,需要导入pytesseract模块和PIL模块(用于打开和处理图片)。然后,可以使用pytesseract.image_to_string()函数来识别图片中的文本。以下是一个简单的示例:AW728资讯网——每日最新资讯28at.com

import pytesseractfrom PIL import Image# 打开图片img = Image.open('example.png')# 识别图片中的文本text = pytesseract.image_to_string(img, lang='eng')# 打印识别的文本print(text)

在上面的示例中,pytesseract.image_to_string()函数接受两个参数:要识别的图片和语言选项。默认情况下,Pytesseract使用英语语言模型进行识别。如果需要识别其他语言,可以将lang参数设置为对应的语言代码。AW728资讯网——每日最新资讯28at.com

3、整理识别的文本

在将识别的文本整理成word、txt和markdown格式的文件之前,需要先对识别的文本进行处理和清洗,以确保输出的文件格式正确。以下是一些常用的文本处理和清洗操作:AW728资讯网——每日最新资讯28at.com

  • 去除多余的空格和换行符
  • 将文本按照段落进行分割
  • 将文本按照句子进行分割
  • 删除无用的字符和标点符号
  • 将文本转换为小写字母(可选)
  • ...

下面是一个示例代码,将识别的文本整理成txt格式的文件:AW728资讯网——每日最新资讯28at.com

import pytesseractfrom PIL import Image# 打开图片img = Image.open('example.png')# 识别图片中的文本text = pytesseract.image_to_string(img, lang='eng')# 去除多余的空格和换行符text = ' '.join(text.split())text = text.replace('/n', ' ')# 将文本按照段落进行分割paragraphs = text.split('/n/n')# 创建txt文件并写入文本with open('example.txt', 'w') as f:    for p in paragraphs:        f.write(p + '/n/n')

将识别的文本整理成word、markdown格式的文件也类似,只需要将输出格式从txt改为对应的格式,然后使用相应的库或工具来生成文件即可。AW728资讯网——每日最新资讯28at.com

4、完整代码

下面是一个完整的示例代码,将识别的文本整理成word、txt格式的文件:AW728资讯网——每日最新资讯28at.com

import pytesseractfrom PIL import Imageimport docximport os# 打开图片img = Image.open('example.png')# 识别图片中的文本text = pytesseract.image_to_string(img, lang='eng')# 去除多余的空格和换行符text = ' '.join(text.split())text = text.replace('/n', ' ')# 将文本按照段落进行分割paragraphs = text.split('/n/n')# 将文本整理成word格式的文件doc = docx.Document()for p in paragraphs:    doc.add_paragraph(p)doc.save('example.docx')# 将文本整理成txt格式的文件with open('example.txt', 'w') as f:    for p in paragraphs:        f.write(p + '/n/n')# 打开生成的文件os.system('start example.docx')os.system('start example.txt')

在上面的代码中,使用了Python的docx库来生成word格式的文件。在生成文件之后,使用os模块打开文件。在Windows系统中,可以使用os.system()函数来打开文件。在其他操作系统中,可能需要使用其他方式来打开文件。AW728资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-11845-0.html如何使用Python中的OCR技术将图像中的文本提取为可编辑文件?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: SpringBoot 并发编程学习历程,你所需要的所有知识点!

下一篇: 深度使用了下 Serverless,太丝滑了!

标签:
  • 热门焦点
  • Find N3入网:最高支持16+1TB

    OPPO将于近期登场的Find N3折叠屏目前已经正式入网,型号为PHN110。本次Find N3在外观方面相比前两代有很大的变化,不再是小号的横向折叠屏,而是跟别的厂商一样采用了较为常见的
  • 一加Ace2 Pro真机揭晓 钛空灰配色质感拉满

    终于,在经过了几波预热之后,一加Ace2 Pro的外观真机图在网上出现了。还是博主数码闲聊站曝光的,这次的外观设计还是延续了一加11的方案,只是细节上有了调整,例如新加入了钛空灰
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • 6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    2023年上半年已经正式过去了,我们也迎来了安兔兔V10版本,在新的骁龙8Gen3和天玑9300发布之前,性能榜的榜单大体会以骁龙8Gen2和天玑9200+为主,至于那颗3.36GHz的骁龙8Gen2领先
  • 帅气纯真少年!日本最帅初中生选美冠军出炉

    日本第一帅哥初一生选美大赛冠军现已正式出炉,冠军是来自千叶县的宗田悠良。日本一直热衷于各种选美大赛,从“最美JK”起到“最美女星&r
  • 0糖0卡0脂 旭日森林仙草乌龙茶优惠:15瓶到手29元

    旭日森林无糖仙草乌龙茶510ml*15瓶平时要卖为79.9元,今日下单领取50元优惠券,到手价为29.9元。产品规格:0糖0卡0脂,添加草本仙草汁,清凉爽口,富含茶多酚,保留
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 华为将推出盘古数字人大模型 可帮助用户12小时完成数字人生成

    在今日举行的2023年华为云数字文娱AI创新峰会上,华为云全球Marketing与销售服务总裁石冀琳表示,华为云将在后续推出盘古数字人大模型,可帮助用户12小
  • 苹果140W USB-C充电器:采用氮化镓技术

    据10 月 30 日 9to5 Mac 消息报道,当苹果推出新的 MacBook Pro 2021 时,该公司还推出了新的 140W USB-C 充电器,附赠在 MacBook Pro 16 英寸机型的盒子里,也支
Top