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设计模式编程中对抽象工厂模式的运用
Mar 02 Python
深入理解NumPy简明教程---数组1
Dec 17 Python
Python实现的视频播放器功能完整示例
Feb 01 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
使用Python 正则匹配两个特定字符之间的字符方法
Dec 24 Python
Python将列表数据写入文件(txt, csv,excel)
Apr 03 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
Mar 05 Python
使用python-Jenkins批量创建及修改jobs操作
May 12 Python
Python常用GUI框架原理解析汇总
Dec 07 Python
python实现经纬度采样的示例代码
Dec 10 Python
实操Python爬取觅知网素材图片示例
Nov 27 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
老机欣赏|中国60年代精品收音机
2021/03/02 无线电
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
php从数组中随机抽取一些元素的代码
2012/11/05 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
php服务器的系统详解
2019/10/12 PHP
jquery JSON的解析方式
2009/07/25 Javascript
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
angularjs $http实现form表单提交示例
2017/06/09 Javascript
基于vue2实现上拉加载功能
2017/11/28 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
香蕉共和国工厂店:Banana Republic Factory
2018/06/09 全球购物
基督教卡片、励志礼品、家居装饰等:DaySpring
2018/10/12 全球购物
心得体会范文
2014/01/04 职场文书
给医务人员表扬信
2014/01/12 职场文书
公司端午节活动方案
2014/02/04 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
HTML中table表格拆分合并(colspan、rowspan)
2021/04/07 HTML / CSS
使用Python解决图表与画布的间距问题
2022/04/11 Python