【Python • 图片识别】pytesseract快速识别提取图片中的文字

在这里插入图片描述

提示:本文多图,请手机端注意流量。


前言

利用python做图片识别,识别提取图片中的文字会有很多方法,但是想要简单一点怎么办,那就可以使用tesseract识别引擎来实现,一行代码就可以做到提取图片文本。


一、配置环境

1. 安装python依赖

本程序用到了两个python库,pytesseract和PIL,所以先来安装。

运行以下命令

pip install Pillow
pip install pytesseract 

如果在python中没有报错,说明程序安装成功,
在这里插入图片描述

2. 安装识别引擎

安装完以上两个依赖还需要对应的识别引擎。点击去下载

咱们直接使用5月10号构建的最新版本。
在这里插入图片描述

安装tesseract识别引擎(可跳过)

下载完成后打开程序进行安装,先选择语言,这里选择英语English就行,然后点ok

在这里插入图片描述
接下来就是next,完了点击I Agree同意协议,
在这里插入图片描述
在这里插入图片描述
为所有用户安装,然后点next,如图,
在这里插入图片描述
接下来安装中文的语言包用来识别中文,需要滑到下面,选择中文,我这里横排简体中文和竖排简体中文都选择了,完成后点击next,
在这里插入图片描述
在这里插入图片描述
选择安装路径,建议安装到C盘以外,然后点击next
在这里插入图片描述
这里点击安装install

在这里插入图片描述
等待安装完成
在这里插入图片描述
安装完成后,点击next,再点击finish完成安装,
在这里插入图片描述
在这里插入图片描述

验证是否安装成功

添加环境变量,就是你安装到的那个文件夹路径,直接加到path里面,
在这里插入图片描述
然后在命令行运行tesseract -v,如果和下图一样,说明你已经安装成功了,
在这里插入图片描述

二、使用步骤

1.引入库

from PIL import Image
import pytesseract

2.提取图片文字

将读取图片的一行代码封装为一个函数,

def read_image(name):
    print(pytesseract.image_to_string(Image.open(name), lang='chi_sim'))

main函数中直接调用即可,

def main():
    read_image('1657158527412.jpg')

3.运行效果

以以下图片为例,
在这里插入图片描述

运行效果如下,
在这里插入图片描述


总结

本文介绍了tesseract的python调用,也就是pytesseract库,其中还有一些其他的内容并没有涉及,仅涉及到了图片提取文字,如果你对其感兴趣,可以深入探索一下,也希望能和我探讨一下。

完整代码

from PIL import Image
import pytesseract


def read_image(name):
    print(pytesseract.image_to_string(Image.open(name), lang='chi_sim'))


def main():
    read_image('img.png')


if __name__ == '__main__':
    main()

可以使用Python的OCR库来识别图片文字。OCR(Optical Character Recognition)是一种将图像文字识别为文本的技术。 Python常用的OCR库有: 1. pytesseract:基于Google的Tesseract OCR引擎,可以在Windows、Linux和Mac上使用。 2. OCRopus:一个OCR引擎,支持多种语言和字体。 3. Kraken:一个OCR引擎,支持多种语言和字体,尤其适合处理历史文献和手写文本。 4. EasyOCR:一个基于深度学习的OCR库,支持80多种语言,包括文、日文、韩文等。 下面以pytesseract为例,介绍如何使用Python识别图片文字。 首先需要安装pytesseract和Pillow库: ```python pip install pytesseract pip install Pillow ``` 然后,安装tesseract OCR引擎。在Windows上,可以从https://github.com/UB-Mannheim/tesseract/wiki下载exe文件进行安装。在Linux上,可以使用以下命令进行安装: ```bash sudo apt-get update sudo apt-get install tesseract-ocr ``` 接下来,可以使用以下代码进行图片文字识别: ```python import pytesseract from PIL import Image # 打开图片 image = Image.open('image.png') # 识别图片文字 text = pytesseract.image_to_string(image, lang='eng') print(text) ``` 其,`lang`参数指定了要识别语言,这里使用的是英文。如果要识别其他语言,可以将`lang`参数改为相应的缩写。例如,文为`chi_sim`。 上述代码会将图片文字识别为字符串,并输出到控制台上。
评论 69
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

广龙宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值