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  连接字符串(join %)
Sep 06 Python
详细讲解Python中的文件I/O操作
May 24 Python
Python统计文件中去重后uuid个数的方法
Jul 30 Python
python脚本监控docker容器
Apr 27 Python
Python和Java进行DES加密和解密的实例
Jan 09 Python
Python字符串内置函数功能与用法总结
Apr 16 Python
Python发展史及网络爬虫
Jun 19 Python
如何在python中实现随机选择
Nov 02 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 Python
将labelme格式数据转化为标准的coco数据集格式方式
Feb 17 Python
Python unittest框架操作实例解析
Apr 13 Python
python如何从键盘获取输入实例
Jun 18 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 短链接算法收集与分析
2011/12/30 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
php实现微信公众号无限群发
2015/10/11 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
2013/09/16 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
JavaScript整除运算函数ceil和floor的区别分析
2015/04/14 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
详解webpack 多页面/入口支持&公共组件单独打包
2017/06/29 Javascript
jQuery封装placeholder效果实现方法,让低版本浏览器支持该效果
2017/07/08 jQuery
vue2.0 computed 计算list循环后累加值的实例
2018/03/07 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
vue 之 css module的使用方法
2018/12/04 Javascript
JS实现网站楼层导航效果代码实例
2020/06/16 Javascript
Python代码的打包与发布详解
2014/07/30 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
Python操作Sonqube API获取检测结果并打印过程解析
2019/11/27 Python
python dataframe NaN处理方式
2019/12/26 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
基于python实现模拟数据结构模型
2020/06/12 Python
WSDL的操作类型主要有几种
2013/07/19 面试题
电话销售经理岗位职责
2013/12/07 职场文书
给学校的建议书范文
2014/05/15 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers