Python3一行代码实现图片文字识别的示例

作者:邱石1990 时间:2021-11-22 06:45:51 

自学Python3第5天,今天突发奇想,想用Python识别图片里的文字。没想到Python实现图片文字识别这么简单,只需要一行代码就能搞定


from PIL import Image
import pytesseract
#上面都是导包,只需要下面这一行就能实现图片文字识别
text=pytesseract.image_to_string(Image.open('denggao.jpeg'),lang='chi_sim')
print(text)

我们以识别诗词为例

下面是我们要识别的图片

Python3一行代码实现图片文字识别的示例

先看下效果图

Python3一行代码实现图片文字识别的示例 

我们运行代码后识别的结果,有几个字没有正确识别,但是大多数字都能识别出来。


风急天高猿啸哀 渚芸胄芳少白鸟飞凤
无边落木萧萧下, 不尽长量工盲衮宕衮来
万里悲秋常1乍窨, 百年多病独登氤
艰难苦恨擎霜量 漂倒新停澍酉帆

一行代码就能识别图片,我们背后要做些准备工作的

  1. 这里我们需要用到两个库:pytesseract和PIL

  2. 同时我们还需要安装识别引擎tesseract-ocr

下面就来讲讲这几个库的安装,因为只有这几个库安装好以后Python才能实现一行代码实现图片文字识别

一,pytesseract和PIL的安装

安装这两个包可以借助pip

- 1,命令行安装


pip install PIL
pip install pytesseract

- 2,如果你用的pycharm编辑器,就可以直接借助pycharm实现快速安装。

在pycharm的Settings设置页按照下面步骤操作

Python3一行代码实现图片文字识别的示例 

这样就能成功安装pytesseract,安装PIL只需要在上面第三步里搜索PIL并点击安装即可

Python3一行代码实现图片文字识别的示例

这时我们安转好了库,运行下面代码


from PIL import Image
import pytesseract
text=pytesseract.image_to_string(Image.open('denggao.jpeg'),lang='chi_sim')
print(text)

会报下面错误,错误原因是:没有安装识别引擎tesseract-ocr

Python3一行代码实现图片文字识别的示例

二,安装识别引擎tesseract-ocr

1.下载下面的安装包,然后直接点击安装即可
tesseract-ocr安装包和中文语言包

解压安装tesseract-ocr后做如下操作,就可以支持中文识别了。因为tesseract-ocr默认不支持中文识别。

Python3一行代码实现图片文字识别的示例

2,安装完成tesseract-ocr后,我们还需要做一下配置

在C:\Users\huxiu\AppData\Local\Programs\Python\Python35\Lib\site-packages\pytesseract找到pytesseract.py打开后做如下操作


# CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
#tesseract_cmd = 'tesseract'
tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'

也可以通过pycharm快速打开pytesseract.py

Python3一行代码实现图片文字识别的示例

Python3一行代码实现图片文字识别的示例

Python3一行代码实现图片文字识别的示例

至此我们所有的配置就完成了,运行下面代码就可以把杜甫的登高这首图片诗解析成文字了

Python3一行代码实现图片文字识别的示例

来源:http://blog.csdn.net/qiushi_1990/article/details/78041375

标签:Python3,图片,文字,识别
0
投稿

猜你喜欢

  • django框架模板语言使用方法详解

    2021-11-10 12:00:36
  • Python flask与fastapi性能测试方法介绍

    2022-12-07 00:10:17
  • 一篇文章彻底搞懂Python切片操作

    2021-10-11 18:23:07
  • Oracle常用dump命令,记录一下备查。

    2009-03-04 10:27:00
  • jquery+ajax+C#实现无刷新操作数据库数据的简单实例

    2024-01-15 03:26:34
  • 怎样设置密码保护问题

    2009-02-16 13:12:00
  • 微信跳一跳游戏python脚本

    2022-03-31 02:24:27
  • CSS处理斜角导航条的一个例子

    2007-08-27 12:38:00
  • Pycharm+Python+PyQt5使用详解

    2021-08-20 06:39:25
  • Python使用pickle模块报错EOFError Ran out of input的解决方法

    2021-06-03 02:56:57
  • python队列基本操作和多线程队列

    2021-01-02 23:28:46
  • 交互设计师应该具备哪些素质

    2009-03-12 12:21:00
  • matplotlib之pyplot模块坐标轴范围设置(autoscale(),xlim(),ylim())

    2022-03-15 09:01:16
  • python中copy()与deepcopy()的区别小结

    2022-02-22 19:39:14
  • 关于numpy和torch.tensor的张量的操作

    2023-12-30 23:35:25
  • Python的地形三维可视化Matplotlib和gdal使用实例

    2021-05-26 13:35:30
  • 对python中两种列表元素去重函数性能的比较方法

    2021-04-01 13:37:59
  • 不管你的Python报什么错,用这个模块就能正常运行

    2023-08-29 14:42:43
  • matplotlib事件处理基础(事件绑定、事件属性)

    2023-02-02 19:34:32
  • Python实现字符串逆序输出功能示例

    2023-10-14 04:59:17
  • asp之家 网络编程 m.aspxhome.com