Python3一行代码实现图片文字识别的示例
作者:邱石1990 发布时间:2021-11-22 06:45:51
自学Python3第5天,今天突发奇想,想用Python识别图片里的文字。没想到Python实现图片文字识别这么简单,只需要一行代码就能搞定
from PIL import Image
import pytesseract
#上面都是导包,只需要下面这一行就能实现图片文字识别
text=pytesseract.image_to_string(Image.open('denggao.jpeg'),lang='chi_sim')
print(text)
我们以识别诗词为例
下面是我们要识别的图片
先看下效果图
我们运行代码后识别的结果,有几个字没有正确识别,但是大多数字都能识别出来。
风急天高猿啸哀 渚芸胄芳少白鸟飞凤
无边落木萧萧下, 不尽长量工盲衮宕衮来
万里悲秋常1乍窨, 百年多病独登氤
艰难苦恨擎霜量 漂倒新停澍酉帆
一行代码就能识别图片,我们背后要做些准备工作的
这里我们需要用到两个库:pytesseract和PIL
同时我们还需要安装识别引擎tesseract-ocr
下面就来讲讲这几个库的安装,因为只有这几个库安装好以后Python才能实现一行代码实现图片文字识别
一,pytesseract和PIL的安装
安装这两个包可以借助pip
- 1,命令行安装
pip install PIL
pip install pytesseract
- 2,如果你用的pycharm编辑器,就可以直接借助pycharm实现快速安装。
在pycharm的Settings设置页按照下面步骤操作
这样就能成功安装pytesseract,安装PIL只需要在上面第三步里搜索PIL并点击安装即可
这时我们安转好了库,运行下面代码
from PIL import Image
import pytesseract
text=pytesseract.image_to_string(Image.open('denggao.jpeg'),lang='chi_sim')
print(text)
会报下面错误,错误原因是:没有安装识别引擎tesseract-ocr
二,安装识别引擎tesseract-ocr
1.下载下面的安装包,然后直接点击安装即可
tesseract-ocr安装包和中文语言包
解压安装tesseract-ocr后做如下操作,就可以支持中文识别了。因为tesseract-ocr默认不支持中文识别。
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
至此我们所有的配置就完成了,运行下面代码就可以把杜甫的登高这首图片诗解析成文字了
来源:http://blog.csdn.net/qiushi_1990/article/details/78041375


猜你喜欢
- 错误如图所示:图一 如果不能很好地执行登录触发器,那么将会导致登录失败。 例如,如果创建了这个触发器,那么就可以设计下面的代码来达到失败的目
- Python 队列Queue和PriorityQueuePython的Queue模块适用于多线程编程的FIFO实现。它可用于在生产
- 如下所示:import turtlefor i in range(100,0,-5): # 从100到0循环递减每次减5turt
- 一、效果快放10倍总共分为三部分,左上角的正文,下方的心形和右下角的署名特别需要注意的一点是这种东西不但要装Python,还与分辨率有关(换
- Monkey patch就是在运行时对已有的代码进行修改,达到hot patch的目的。Eventlet中大量使用了该技巧,以替换标准库中的
- 首先获取ip:<% userip=Request.ServerVariables(&qu
- 类的定义假如要定义一个类 Point,表示二维的坐标点:# point.pyclass Point: def __init__(
- 1.准备好数据库的.zip免安装包,下载地址链接: https://pan.baidu.com/s/1vI6W-F7XZ0iKuCMSBtU
- 一.条件语句条件语句可以给定一个判断条件,并在程序执行过程中判断该条件是否成立。程序根据判断结果,执行不同的操作,这样就可以改变代码的执行顺
- 前言大家在使用pymysql的时候,通过fetchall()或fetchone()可以获得查询结果,但这个返回数据是不包含字段信息的(不如p
- 一、简介本文旨在使用两种方法来实现sin函数的模拟,具体的模拟方法是使用机器学习来实现的,我们使用Python的torch模块进行机器学习,
- 安装Pycharm进行Python开发时,经常右下角提示No R interpreter defined,处理方式:1、安装R,然后将R的路
- 热的东西显然会变凉。房间会会人沮丧地变得凌乱。几乎同样,消息会失真。逆转这些情况的短期策略分别是重新加热、 做卫生和使用 Hop
- 下列代码都是以自己的项目实例讲述的,相关的文本内容很少,主要说明全在代码注释中自制图形验证码这里所说的图形验证码都是自制的图形,通过画布、画
- 前言在Django的前后端分离项目中DRF(Django Restframe Work)框架无疑是首选,关于token验证一般使用的是JWT
- 前言众所周知vue中使用路由的方式设置url参数,但是这种方式必须要在路径中附带参数,而且这个参数是需要在vue的路由中提前设置好的。相对来
- SQL Server如何通过SQL语句直接操作另一个SQL SERVER的数据1、 现在执行SQL语句的数据库服务器开启Ad Hoc Dis
- 简单构建一个项目,如下是mian.go文件package main// 条件编译-构建标签-如何使用IDE编译和识别func main()
- 本文实例为大家分享了基于TensorFlow的CNN实现Mnist手写数字识别的具体代码,供大家参考,具体内容如下一、CNN模型结构输入层:
- 本文实例为大家分享了python实现大文本文件分割的具体代码,供大家参考,具体内容如下开发环境Python 2实现效果通过文件拖拽或文件路径