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 multiprocessing.Manager介绍和实例(进程间共享数据)
Nov 21 Python
window下eclipse安装python插件教程
Apr 24 Python
利用python批量给云主机配置安全组的方法教程
Jun 21 Python
python获取酷狗音乐top500的下载地址 MP3格式
Apr 17 Python
关于Pycharm无法debug问题的总结
Jan 19 Python
python生成带有表格的图片实例
Feb 03 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
使用python实现对元素的长截图功能
Nov 14 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
Dec 12 Python
Python中使用socks5设置全局代理的方法示例
Apr 15 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
Apr 20 Python
python statsmodel的使用
Dec 21 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使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
jQuery简单实现页面元素置顶时悬浮效果示例
2016/08/01 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
JS简单实现移动端日历功能示例
2016/12/28 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
vue实现购物车结算功能
2020/06/18 Javascript
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
python根据出生日期返回年龄的方法
2015/03/26 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
Django通过json格式收集主机信息
2020/05/29 Python
为什么是 Python -m
2020/06/19 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
使用HTML5做的导航条详细步骤
2020/10/19 HTML / CSS
几个SQL的面试题
2014/03/08 面试题
自荐书范文
2013/12/08 职场文书
小学敬老月活动方案
2014/02/11 职场文书
预备党员思想汇报1000字
2014/10/07 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
风雨哈佛路观后感
2015/06/03 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android
浅谈Redis的事件驱动模型
2022/05/30 Redis