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 装饰器功能以及函数参数使用介绍
Jan 27 Python
Python字符串格式化输出方法分析
Apr 13 Python
Python中json格式数据的编码与解码方法详解
Jul 01 Python
python实现的二叉树定义与遍历算法实例
Jun 30 Python
django的ORM操作 增加和查询
Jul 26 Python
对django的User模型和四种扩展/重写方法小结
Aug 17 Python
python批量处理文件或文件夹
Jul 28 Python
pycharm不能运行.py文件的解决方法
Feb 12 Python
Python word文本自动化操作实现方法解析
Nov 05 Python
python3从网络摄像机解析mjpeg http流的示例
Nov 13 Python
Python读写锁实现实现代码解析
Nov 28 Python
matplotlib交互式数据光标mpldatacursor的实现
Feb 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
图象函数中的中文显示
2006/10/09 PHP
php中session与cookie的比较
2015/01/27 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
获取body标签的两种方法
2011/10/13 Javascript
基于jquery自定义图片热区效果
2012/07/21 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
使用Raygun对Node.js应用进行错误处理的方法
2015/06/23 Javascript
深入浅析javascript立即执行函数
2015/10/23 Javascript
理解javascript正则表达式
2016/03/08 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
vue2.0自定义指令示例代码详解
2019/04/25 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
Vue 设置axios请求格式为form-data的操作步骤
2019/10/29 Javascript
Python中的with...as用法介绍
2015/05/28 Python
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
Python 支持向量机分类器的实现
2020/01/15 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
为什么Runtime.exec(“ls”)没有任何输出?
2014/10/03 面试题
艺术爱好者的自我评价分享
2013/10/08 职场文书
导师评语大全
2014/04/26 职场文书
师范生自荐信模板
2014/05/28 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
休学证明范本
2015/06/19 职场文书
旅游投诉信范文
2015/07/02 职场文书
教师节联欢会主持词
2015/07/04 职场文书
springboot项目以jar包运行的操作方法
2021/06/30 Java/Android
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android
nginx日志格式分析和修改
2022/04/28 Servers