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 相关文章推荐
PyQt5每天必学之进度条效果
Apr 19 Python
Python爬虫常用库的安装及其环境配置
Sep 19 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
Dec 18 Python
python 在指定范围内随机生成不重复的n个数实例
Jan 28 Python
eclipse创建python项目步骤详解
May 10 Python
python二进制文件的转译详解
Jul 03 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
Jul 04 Python
Python爬虫学习之获取指定网页源码
Jul 30 Python
Django REST Framework之频率限制的使用
Sep 29 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
Feb 18 Python
Python文件操作基础流程解析
Mar 19 Python
容易被忽略的Python内置类型
Sep 03 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
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
php中错误处理操作实例分析
2019/08/23 PHP
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
document.onreadystatechange事件的用法分析
2009/10/17 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
Vue.js对象转换实例
2017/06/07 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
nodejs使用redis作为缓存介质实现的封装缓存类示例
2018/02/07 NodeJs
全面分析JavaScript 继承
2019/05/30 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
python解析xml文件实例分析
2015/05/27 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
2018/01/10 Python
python 编码规范整理
2018/05/05 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
介绍一下内联、左联、右联
2013/12/31 面试题
UNIX特点都有哪些
2016/04/05 面试题
医科大学生的自我评价
2013/12/04 职场文书
简短证婚人证婚词
2014/01/09 职场文书
物流专业求职计划书
2014/01/10 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
同学聚会邀请函
2015/01/30 职场文书
2015年领班工作总结
2015/04/29 职场文书
增值税发票丢失证明
2015/06/19 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
vue ref如何获取子组件属性值
2022/03/31 Vue.js
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL