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安装oracle扩展及数据库连接方法
Feb 21 Python
Python 操作MySQL详解及实例
Apr 30 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
Feb 07 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
Oct 30 Python
pycharm配置pyqt5-tools开发环境的方法步骤
Feb 11 Python
Python面向对象进阶学习
May 21 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
Sep 06 Python
Python如何基于selenium实现自动登录博客园
Dec 16 Python
numpy的Fancy Indexing和array比较详解
Jun 11 Python
Python如何读写CSV文件
Aug 13 Python
python与c语言的语法有哪些不一样的
Sep 13 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 08 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
jquery $.ajax入门应用一
2008/11/19 Javascript
JQuery 学习笔记 选择器之六
2009/07/23 Javascript
js 分栏效果实现代码
2009/08/29 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
CSS javascript 结合实现悬浮固定菜单效果
2015/08/23 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
2015/11/26 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
python数据清洗系列之字符串处理详解
2017/02/12 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
python实现Flappy Bird源码
2018/12/24 Python
django 控制页面跳转的例子
2019/08/06 Python
python与mysql数据库交互的实现
2020/01/06 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
python中的测试框架
2020/11/13 Python
canvas简易绘图的实现(海绵宝宝篇)
2018/07/04 HTML / CSS
兰蔻英国官网:Lancome英国
2019/04/30 全球购物
公司财务自我评价分享
2013/12/17 职场文书
工业学校毕业生自荐信范文
2014/01/03 职场文书
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
教师年度考核个人总结
2015/02/12 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
python Tkinter的简单入门教程
2021/04/11 Python
nginx配置虚拟主机的详细步骤
2021/07/21 Servers
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server