怎样用Python提取图片中的文字

点击蓝字关注△ 回复“1024”领取福利大礼包

有时候在爬取数据的时候,需要读取网页中图片中的信息。在读取和处理图像、图像相关的机器学习以及创建图像等任务中,Python一直都是非常出色的语言。有两个库非常流行的库:Pillow和Tesseract。

Pillow 算不上是图像处理功能最全的库,但是它拥有你需要使用的全部功能,除非你 要用 Python 重写一个 Photoshop 或进行更加复杂的研究。它也是一个文档健全且十分易用 的库。

Tesseract 是一个 OCR 库,目前由 Google 赞助(Google 也是一家以 OCR 和机器学习技术 闻名于世的公司)。Tesseract 是目前公认最优秀、最精确的开源 OCR系统。 除了极高的精确度,Tesseract 也具有很高的灵活性。它可以通过训练识别出任何字体,也可以识别出任何 Unicode 字符。

Tesseract是一个 Python 的命令行工具,不是通过 import语句导入的库。安装之后,要用要用tesseract命令在Python的外面运行

今天使用Tesseract来实现一个提取图片中信息的程序。下面这张图片,就是我们需要读取的对象:

安装过程略过,直接看代码:

import subprocess

p = subprocess.Popen(["tesseract", "page.png", "page"], stdout=subprocess.PIPE,stderr=subprocess.PIPE)
p.wait()
f = open("page.txt","r")
print(f.read())
f.close()

运行这个程序,应该会输出图片中的文字信息。但是,当文字出现在彩色封面上时,结果就不那么完美了。你可以用 Pillow 库挑选图片进行清理,但是如果想把文字加工成普通人可以看懂的效果,还需要花很多时间去处理。这是只是一个简单的实例。

如果觉得内容还不错,分享给更多朋友,一起提升编程技能。

原文发布于微信公众号 - TalkPython(TalkPython)

原文发表时间:2019-04-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券