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中的元类编程入门指引
Apr 15 Python
itchat接口使用示例
Oct 23 Python
Python中Scrapy爬虫图片处理详解
Nov 29 Python
Python装饰器用法示例小结
Feb 11 Python
对python中dict和json的区别详解
Dec 18 Python
python 读取修改pcap包的例子
Jul 23 Python
Django框架视图层URL映射与反向解析实例分析
Jul 29 Python
Python SELENIUM上传文件或图片实现过程
Oct 28 Python
Python实现括号匹配方法详解
Feb 10 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
Apr 07 Python
Python中Yield的基本用法
Oct 18 Python
python实现b站直播自动发送弹幕功能
Feb 20 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精确的统计在线人数的方法
2015/10/21 PHP
php实现博客,论坛图片防盗链的方法
2016/10/15 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
JavaScript事件列表解说
2006/12/22 Javascript
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
2016/10/10 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
JavaScript面试出现频繁的一些易错点整理
2018/03/29 Javascript
解决layer.msg 不居中 ifram中的问题
2019/09/05 Javascript
使用pkg打包ThinkJS项目的方法步骤
2019/12/30 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
vue element table中自定义一些input的验证操作
2020/07/18 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
跟老齐学Python之类的细节
2014/10/13 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
找到不普通的东西:Bonanza
2016/10/20 全球购物
护理自荐信范文
2013/10/05 职场文书
高中数学教师求职信
2013/10/30 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
市场开发计划书
2014/05/07 职场文书
七一建党节慰问信
2015/02/14 职场文书
2019最新公司租房合同(例文)
2019/07/18 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python
Python进行区间取值案例讲解
2021/08/02 Python
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL
Docker安装MySql8并远程访问的实现
2022/07/07 Servers