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找出9个连续的空闲端口
Feb 01 Python
基于python元祖与字典与集合的粗浅认识
Aug 23 Python
python中hashlib模块用法示例
Oct 30 Python
Python实现的求解最大公约数算法示例
May 03 Python
对python csv模块配置分隔符和引用符详解
Dec 12 Python
Django组件content-type使用方法详解
Jul 19 Python
python 使用socket传输图片视频等文件的实现方式
Aug 07 Python
python破解bilibili滑动验证码登录功能
Sep 11 Python
基于Tensorflow批量数据的输入实现方式
Feb 05 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 Python
Xadmin+rules实现多选行权限方式(级联效果)
Apr 07 Python
解决TensorFlow程序无限制占用GPU的方法
Jun 30 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
PHP4实际应用经验篇(4)
2006/10/09 PHP
PHP Memcached应用实现代码
2010/02/08 PHP
PHP实现手机归属地查询API接口实现代码
2012/08/27 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
javascript+xml技术实现分页浏览
2008/07/27 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
javascript时区函数介绍
2012/09/14 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
Python用GET方法上传文件
2015/03/10 Python
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
Python机器学习之决策树算法实例详解
2017/12/06 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
python 计算方位角实例(根据两点的坐标计算)
2020/01/17 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
Python定时任务APScheduler原理及实例解析
2020/05/30 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
html5的canvas方法使用指南
2014/12/15 HTML / CSS
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python