0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Python把图片变成文字

Wildesbeast 来源:今日头条 作者:玩物有智 2020-02-15 14:40 次阅读

为什么要让孩子学编程?看了这篇文章,你就知道编程的强大之处了!

你遇到以下的情况吗?

你负责整理一些文件,结果发现文件没有word存档,这又需要我们把图片变成word。

或者是在今日头条上看到了某片好文章,结果内容却是图片,你特别想把他变成文字分享给朋友。

如果你遇到过这些问题,千万不要错过 pytesseract 这个好工具!它能够用很简单、基础的方法将图片转换成文字(分辨图片中的文字)。在我们开始介绍 pytesseract 这个 Python 模块之前,先来认识一下 Tesseract OCR 到底是什么吧!

OCR 与 Tesseract

OCR 为光学文字识别的缩写(Optical Character Recognition,OCR),白话一点就是将图片翻译为文字。而 Tesseract 是一个 OCR 模组,目前由 Google 赞助。Tesseract 已经有 30 年历史,一开始它是惠普实验室的一款专利软体,于 2005 年开源,从 2006 年后由 Google 赞助进行后续的开发和维护, Tesseract 也是目前公认最优秀、最精准的开源 OCR 系统。

除了极高的精准度外,Tesseract 也有很高的灵活性,能够通过训练识别出任何字体(只要这些字体的风格不变就可以),也能识别出任何 Unicode 字符,是不是非常厉害呢?我们待会会用到的 pytesseract 模块就像是Tesseract的 python 包。

下面让我们来动手尝试下:

第一步 安装模块

pip3 install pillowpip3 install pytesseract

第二步 编写程序

from PIL import Imageimport pytesseractimg = Image.open('test1.png')text = pytesseract.image_to_string(img, lang='eng')print(text)

首先,第一行和第二行是将我们刚刚安装的模块导入到程序中。

PIL 包含在刚刚安装的 pillow 模组,其中的 Image 模组能够读取图片档。

我们将想要转成文字的图片档,放在和这支程式相同的目录。

第四行的 'test1.png' 是相对于这个程序(.py文件)的路径,也就是该图片的文件名,因此必须放在同一个资料夹程序才找得到文件,而且文件名与路径名都是不可省略的。

所有辨识文字、转换的複杂过程全部都写在 pytesseract 中了,我们只需要知道如何调用即可。接著看到第五行,image_to_string函式有一个关键字引数 lang,默认是英文,可以改变成你想要的语言字串。

结语

简单暴力,5行代码就可以将图片转化为文字,是不是很方便呢?除了生活中的一些小问题能用 pytesseract 解决,在开发爬虫程序时,经常会遇到需要验证码的情况,这时就能利用这个模块轻松解决。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • word
    +关注

    关注

    1

    文章

    78

    浏览量

    21913
  • Unicode
    +关注

    关注

    0

    文章

    24

    浏览量

    12553
  • python
    +关注

    关注

    56

    文章

    4782

    浏览量

    84467
收藏 人收藏

    评论

    相关推荐

    【算能RADXA微服务器试用体验】+ GPT语音与视觉交互:4,文字转语音

    文字转语音使用的技术简称为TTS。一般情况下我用的都是在线的EDGE-TTS服务。但非常幸运的是,BM1684X上居然有适配好的本地运行TTS,那自然是要体验一番。 先转到project文件夹
    发表于 07-15 23:18

    labview图片转成base64

    各位大佬们,请教一下如何在labview中图片转成base64编码,然后传给Python,或者是然后用labview和Python之间传递图片
    发表于 05-08 01:04

    有谁知道如何在热敏打印机中实现图片的灰阶打印效果吗?

    有谁知道如何在热敏打印机中实现图片的灰阶打印效果。 现在基本上文字打印,图片打印功能都已开发结束,图片打印现在用的是点阵打印的方法。想增加灰阶打印的效果。 有哪个大神做过相关方面开发,
    发表于 04-24 15:43

    鸿蒙OS开发实例:【瀑布流式图片浏览】

    瀑布流式展示图片文字,在当前产品设计中已非常常见,本篇将介绍关于WaterFlow的图片浏览场景,顺便集成Video控件,以提高实践的趣味性
    的头像 发表于 03-29 17:38 1118次阅读
    鸿蒙OS开发实例:【瀑布流式<b class='flag-5'>图片</b>浏览】

    MX生成文件touchGFX无法成功编译是哪里出了问题?

    1、MX生成文件时,toolchian工具选择keil且touchGFX选择高版本时,生成文件可以成功在touchGFX不可以成功编译。 2、toolchian工具选择IDE且touchGFX选择
    发表于 03-13 07:40

    MB91530_590 EVB板添加字库,能显示图片但是没有文字显示是为什么?

    我的 MB91530_590EVB板在应用例程中添加字库 能显示图片但是没有文字显示。 我是在开发板的例程中修改的。 我是按照文档一步一步做的,为什么显示不出文字,有知道原因的请尽快回复,不胜感激。 最后显示的结果:没有
    发表于 02-22 08:19

    鸿蒙开发教学-图片的引用

    该接口通过图片数据源获取图片,支持本地图片和网络图片的渲染展示。其中,src是图片的数据源。
    的头像 发表于 02-01 17:36 642次阅读
    鸿蒙开发教学-<b class='flag-5'>图片</b>的引用

    如何解决Python爬虫中文乱码问题?Python爬虫中文乱码的解决方法

    Python爬虫中文乱码问题。 一、了解字符编码 在解决乱码问题之前,我们首先需要了解一些基本的字符编码知识。常见的字符编码有ASCII、UTF-8和GBK等。 1. ASCII:是一种用于表示英文字母、数字和常用符号的字符编码,它使用一个字节(8位)来表示一个字符。
    的头像 发表于 01-12 15:11 2208次阅读

    vlookup过来的数据怎么变成文

    VLOOKUP是一个非常有用的Excel函数,用于查找并提取特定值或数据。在VLOOKUP函数中,通常返回的数据类型是数值或日期,但有时我们可能希望将这些数据转换为文本格式。本文将详细介绍如何将通过VLOOKUP函数返回的数据转换为文本,并提供一些实际示例和技巧。 首先,让我们回顾一下VLOOKUP函数的基本用法。VLOOKUP函数以一个查找值作为输入,并在指定的数据范围中查找匹配的值。一旦找到匹配的值,函数就会返回相应的值或数据。默认情况下,VLOOKUP返回
    的头像 发表于 12-01 10:18 3w次阅读

    安筱鹏:制造业是AI大模型应用的主战场

    这一轮AI所体现“革命性”特征,不是AI可以生成文字、可以生成图片,而是AI可以生成代码,构建人机交互新模式,与产品研发、工艺设计、生产作业、产品运营等制造环节、场景相结合,提升生产效率,形成新生产力,并引发产业竞争格局重构。
    的头像 发表于 11-30 16:09 712次阅读
    安筱鹏:制造业是AI大模型应用的主战场

    python运行环境的安装和配置

    Python是一种非常流行的编程语言,广泛应用于科学计算、Web开发、人工智能等领域。为了能够正常运行Python程序,我们需要先安装和配置Python运行环境。本文将为您详尽介绍Python
    的头像 发表于 11-29 16:17 1106次阅读

    python软件对电脑配置要求

    Python是一种流行的编程语言,它在许多不同的领域中被广泛使用,例如网站开发、数据科学和机器学习等。对于使用Python的开发者来说,了解Python软件的电脑配置要求是非常重要的。本文将详细介绍
    的头像 发表于 11-29 14:58 9800次阅读

    查看python安装路径的方法

    Python是一种高级编程语言,常用于开发Web应用、数据分析、人工智能等领域。在使用Python进行开发之前,我们需要先安装Python解释器,并了解Python解释器的安装路径。本
    的头像 发表于 11-29 14:54 1.1w次阅读

    python shell怎么用

    Python Shell是一种交互式解释器,可以通过命令行直接运行Python代码。在Shell中,可以输入一行代码并立即得到结果,非常适合于测试、尝试新代码或进行简单的任务。本文将详细介绍
    的头像 发表于 11-29 14:36 1109次阅读

    python软件怎么运行代码

    Python是一种高级编程语言,它被广泛用于开发各种类型的应用程序,从简单的脚本到复杂的网络应用和机器学习模型。要运行Python代码,您需要一个Python解释器,它可以将您的代码翻译成计算机可以
    的头像 发表于 11-28 16:02 862次阅读