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


Posted in Python onJanuary 15, 2018

自学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一行代码实现图片文字识别的示例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中正则表达式的使用详解
Oct 17 Python
使用Python实现下载网易云音乐的高清MV
Mar 16 Python
windows及linux环境下永久修改pip镜像源的方法
Nov 28 Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 Python
Ubuntu下使用python读取doc和docx文档的内容方法
May 08 Python
python绘制立方体的方法
Jul 02 Python
总结python中pass的作用
Feb 27 Python
Python通过Tesseract库实现文字识别
Mar 05 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
Jun 03 Python
python的help函数如何使用
Jun 11 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
Oct 20 Python
Python编程二分法实现冒泡算法+快速排序代码示例
Jan 15 #Python
selenium python浏览器多窗口处理代码示例
Jan 15 #Python
100行python代码实现跳一跳辅助程序
Jan 15 #Python
tornado 多进程模式解析
Jan 15 #Python
200 行python 代码实现 2048 游戏
Jan 12 #Python
一篇文章快速了解Python的GIL
Jan 12 #Python
Python获取当前公网ip并自动断开宽带连接实例代码
Jan 12 #Python
You might like
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
zShowBox 图片放大展示jquery版 兼容性
2011/09/24 Javascript
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
js验证IP及子网掩码的合法性有效性示例
2014/04/30 Javascript
jQuery中parent()方法用法实例
2015/01/07 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
不用一句js代码初始化组件
2016/01/27 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
pytorch + visdom 处理简单分类问题的示例
2018/06/04 Python
python实现websocket的客户端压力测试
2019/06/25 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
2019/08/17 Python
Python修改DBF文件指定列
2020/12/19 Python
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
师德建设实施方案
2014/03/21 职场文书
二年级小学生评语
2014/04/21 职场文书
个性婚礼策划方案
2014/05/17 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话全文
2014/10/25 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python
MySQL 四种连接和多表查询详解
2021/07/16 MySQL
python在package下继续嵌套一个package
2022/04/14 Python