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

    浏览量

    21776
  • Unicode
    +关注

    关注

    0

    文章

    23

    浏览量

    12524
  • python
    +关注

    关注

    53

    文章

    4701

    浏览量

    83699
收藏 人收藏

    评论

    相关推荐

    labview图片转成base64

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

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

    瀑布流式展示图片文字,在当前产品设计中已非常常见,本篇将介绍关于WaterFlow的图片浏览场景,顺便集成Video控件,以提高实践的趣味性
    的头像 发表于 03-29 17:38 751次阅读
    鸿蒙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

    Python2与Python3的差异

    Python2与Python3是两个不同的版本,它们在语法、功能和性能等方面存在一些差异。下面是对Python2和Python3的详尽、详实、细致的比较,分为以下几个方面: 语法差异
    的头像 发表于 11-23 16:48 468次阅读

    python怎么把字符串变成数字

    Python是目前广泛应用的一种编程语言,它以简洁、易读和灵活的特性被广大开发者所喜爱。在Python中,字符串和数字是两种常见的数据类型。字符串是由字符组成的一系列字符序列,而数字则表示数值或数学
    的头像 发表于 11-22 09:47 1803次阅读

    Go语言比Python强多少

    1.都说Go语言性能非常强大,那么到底比Python强多少? 为了比较Go语言和Python语言在单线程性能上的差距,我们可以做一个简单实验,从1亿减到1: Python代码(以下均分别提供
    的头像 发表于 11-02 14:05 355次阅读
    Go语言比<b class='flag-5'>Python</b>强多少

    Arduino篇—OLED显示图片

    图片转换为位图数组:上节课我们在去中文字符的数组的时候,使用了PCtoLCD这个软件,但是在图片转位图数组的时候,效果不是很好。
    的头像 发表于 11-02 09:29 1055次阅读
    Arduino篇—OLED显示<b class='flag-5'>图片</b>

    OCR如何自动识别图片文字

    OCR 是光学字符识别(英语:Optical Character Recognition,OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。 很早之前就有同学在公众号后台
    的头像 发表于 10-31 16:45 521次阅读
    OCR如何自动识别<b class='flag-5'>图片</b><b class='flag-5'>文字</b>

    Python如何合成多张图片到PDF格式

    在日常生活中,经常会遇到需要提交身份证正反面证明资料的情况,而且这些网站大部分只接受pdf格式,这时候我们就需要把身份证正反面两张图片合成为一个pdf文件。 在macOS系统下,预览软件可以轻松做到
    的头像 发表于 10-30 10:33 400次阅读

    文字到数据,揭秘 Embeddings 应用创新!

    以下文章来源于谷歌云服务,作者 Google Cloud 在计算机世界中,有一种 "魔法" 能够将文字图片等非结构化数据变成计算机可以理解的语言,它就是多模态
    的头像 发表于 10-25 18:55 226次阅读
    从<b class='flag-5'>文字</b>到数据,揭秘 Embeddings 应用创新!

    关于两个Python开源识别工具的效果

    OCR 是光学字符识别(英语:Optical Character Recognition,OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。 很早之前就有同学在公众号后台
    的头像 发表于 10-17 11:36 363次阅读
    关于两个<b class='flag-5'>Python</b>开源识别工具的效果

    Whisper语音转文字教程

    语音转文字在许多不同领域都有着广泛的应用。以下是一些例子: 1.字幕制作:语音转文字可以帮助视频制作者快速制作字幕,这在影视行业和网络视频领域非常重要。通过使用语音转文字工具,字幕制作者可以更快
    的头像 发表于 10-16 11:26 628次阅读
    Whisper语音转<b class='flag-5'>文字</b>教程

    【触觉智能 Purple Pi OH 开发板体验】python 简单web显示图片

    python 简单web显示图片 这是一个轻量级的本地服务器。可以在PC/嵌入式上跑。实现的功能是,你的图片展示在页面上,可以用手机和平板电脑或者其他电脑查看。 当然,这要保证你的几
    发表于 08-20 13:10

    AI提取图片里包含的文字信息-解决文字无法复制的痛点

    这个文字识别接口里不仅仅有通用文字识别功能,还支持很多其他功能:比如身份证、驾驶证、保险单、手写文本、火车票,行驶证.......等等功能。还支持用户自定义识别模板,指定需要识别的关键字段,实现用户特定格式图片的自动识别和结构化
    的头像 发表于 07-07 09:37 1168次阅读
    AI提取<b class='flag-5'>图片</b>里包含的<b class='flag-5'>文字</b>信息-解决<b class='flag-5'>文字</b>无法复制的痛点