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 list语法学习(带例子)
Nov 01 Python
浅析Python的web.py框架中url的设定方法
Jul 11 Python
梯度下降法介绍及利用Python实现的方法示例
Jul 12 Python
Python求一批字符串的最长公共前缀算法示例
Mar 02 Python
pandas删除指定行详解
Apr 04 Python
python定时复制远程文件夹中所有文件
Apr 30 Python
python使用pygame模块实现坦克大战游戏
Mar 25 Python
pandas进行时间数据的转换和计算时间差并提取年月日
Jul 06 Python
PyTorch的Optimizer训练工具的实现
Aug 18 Python
Python 实用技巧之利用Shell通配符做字符串匹配
Aug 23 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
Python matplotlib 利用随机函数生成变化图形
Apr 26 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
PHP应用JSON技巧讲解
2013/02/03 PHP
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
Symfony生成二维码的方法
2016/02/04 PHP
php 浮点数比较方法详解
2017/05/05 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
JavaScript开发时的五个注意事项
2007/12/08 Javascript
学习ExtJS table布局
2009/10/08 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
JS轮播图的实现方法2
2020/08/25 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
使用python BeautifulSoup库抓取58手机维修信息
2013/11/21 Python
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
17个Python小技巧分享
2015/01/23 Python
python读取oracle函数返回值
2016/07/18 Python
python select.select模块通信全过程解析
2017/09/20 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
在PyCharm中三步完成PyPy解释器的配置的方法
2018/10/29 Python
python入门之基础语法学习笔记
2020/02/08 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
安全生产检讨书
2014/01/21 职场文书
三八活动策划方案
2014/08/17 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS