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

    文章

    79

    浏览量

    22631
  • Unicode
    +关注

    关注

    0

    文章

    25

    浏览量

    12868
  • python
    +关注

    关注

    57

    文章

    4856

    浏览量

    89548
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    商品图片批量上传接口设计与实现

    设计、实现步骤、代码示例、错误处理和性能优化。文章基于Python Flask框架,确保内容真实可靠,适合开发者快速上手。 1. 接口设计概述 一个标准的商品图片批量上传接口应遵循RESTful原则,使用HTTP POST方法。关键设计点包括: 端点定义:例
    的头像 发表于 10-13 15:25 195次阅读

    【EASY EAI Orin Nano开发板试用体验】PP-OCRV5文字识别实例搭建与移植

    参数中填上dec模型的路径,在第三个参数中填上rec模型的路径,在第四个参数中填上需要进行文字识别的源图片: 看看效果: RK3588s开发板上面成功运行,但是RK3576开发板上的librknnrt.so文件版本不匹配,因此无法正常运行...这个问题只能等待瑞芯微
    发表于 08-18 16:57

    端侧OCR文字识别实现 -- Core Vision Kit ##HarmonyOS SDK AI##

    获取图片url,这个url和token再发给百度的ocr接口获取识别数据……或者图片转base64以后这个base64发给接口,然而鸿蒙这里,目前我也不知道啥原因(可能是发送请求的
    发表于 06-30 18:07

    HarmonyOS实战:一招搞定保存图片到相册

    保存图片功能几乎是每个应用程序必备的功能之一,当用户遇到喜欢的图片时可以保存到手机相册。那么在鸿蒙中保存图片是否也需要申请用户存储权限以及如何将图片保存到相册,本文将详细讲述怎么保存网
    的头像 发表于 06-24 17:04 975次阅读

    Hi3861 wifiiot_hispark_pegasus 按教程安装python3 -m pip install build/lite 报错

    问题1: 报错: 问题2: 我安装网上搜的方法执行 python3 -m pip install --user ohos-build==0.4.3 hb -v [OHOS INFO] hb
    发表于 06-14 16:48

    现在有一个三维数组rgb,怎么通过k230他转变成图片显示出来?

    现在有一个三维数组rgb,怎么通过k230他转变成图片显示出来
    发表于 06-10 08:17

    labview语音转文字

    labview语音转文字怎么实现,目前在论坛上找到了文字转语音
    发表于 04-07 19:44

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

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

    烧完sd卡镜像后,使用vi-vo vi-venc应用生成图片,再次插入sd卡后,程序使用时无法生成文件是怎么回事?

    在烧完sd卡镜像后,使用vi-vo vi-venc应用后 ,生成图片,拔出sd卡后,查看图片,再次插入sd卡后,在程序使用时无法生成文件,在应用程序外用命令行操作也无法操作,看着路径比正常多了一个
    发表于 02-08 07:41

    Python绘图Matplotlib快速参考手册

     PYTHON
    发表于 02-07 14:04 0次下载

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 2200次阅读

    将电脑硬盘变成云存储,怎么做到多余电脑硬盘变成云存储

    要将电脑的额外硬盘配置为云存储,你可以利用多种方法来实现本地数据的云端同步、访问和共享。这种做法可以将本地硬盘变成云存储的一部分,方便你在不同设备之间共享和访问文件。下面将介绍如何使用本地NAS
    的头像 发表于 01-06 13:09 2158次阅读
    将电脑硬盘<b class='flag-5'>变成</b>云存储,怎么做到<b class='flag-5'>把</b>多余电脑硬盘<b class='flag-5'>变成</b>云存储

    电脑变成云存储nsa,电脑变成云存储nsa的教程,个人云电脑是什么以及怎么连接

    嗨,我是个茶艺师,准备茶艺表演时,需要查阅不同茶叶的冲泡方法、茶文化资料,手机内存有限。通过远程连接工作室电脑,我能大量获取资料,茶艺表演更精彩。现在,我这远程茶艺提升的方法分享给同行,传播茶文化
    的头像 发表于 01-02 09:10 854次阅读
    电脑<b class='flag-5'>变成</b>云存储nsa,电脑<b class='flag-5'>变成</b>云存储nsa的教程,个人云电脑是什么以及怎么连接

    使用Python+OpenCV处理图片

    如果给你一张图片作为背景,另外一张图片中的物体作为前景图,要把前景图中的物体叠加布置到背景图的中间位置,并且前景图中的物体需要在背景图中有旋转和投影,怎么处理?
    的头像 发表于 12-23 15:54 1197次阅读

    个人电脑变成云电脑,个人电脑变成云电脑的步骤

        云电脑在现代工作和生活中扮演着越来越重要的角色,用户可以通过远程桌面软件,像操作本地计算机一样访问和控制远程计算机,无论它们位于何处。今天小编给大家分享个人电脑变成云电脑的步骤。    将
    的头像 发表于 12-23 13:28 2375次阅读
    <b class='flag-5'>把</b>个人电脑<b class='flag-5'>变成</b>云电脑,<b class='flag-5'>把</b>个人电脑<b class='flag-5'>变成</b>云电脑的步骤