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

Posted 广龙宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 使用pytesseract库识别验证码(MAC系统)


1.安装python

brew install python


2.安装PIL及图片格式支持

下载
http://www.pythonware.com/products/pil/index.htm

解压
tar -xzf Imaging-1.1.7.tar.gz

安装PIL
cd Imaging-1.1.7
sudo python setup.py install

安装图片格式支持
brew install libpng
brew install jpeg
brew install libtiff

(注:安装了libtiff后PIL仍然无法支持tiff格式的图片,原因还没搞清楚)


3.安装leptonica

brew install leptonica


4.安装tesseract-ocr

brew install tesseract


5.安装pytesseract库

安装pip工具
sudo easy_install pip

安装pytesseract
sudo pip install pytesseract

 

6.写python脚本并运行

import pytesseract
from PIL import Image

image = Image.open(‘yzm.png‘)
image.load()
image.split()
vcode = pytesseract.image_to_string(image)
print vcode

其中yzm.png为验证码图片,和py脚本同一个目录

py脚本保存为yzm.py,运行之

python yzm.py

显示结果

技术分享

 

以上是关于Python • 图片识别pytesseract快速识别提取图片中的文字的主要内容,如果未能解决你的问题,请参考以下文章

python-使用内置库pytesseract实现图片验证码的识别

ubuntu 安装 pytesseract 模块进行图片内容识别

Python3.x:pytesseract识别率提高(样本训练)

[原]Python 使用pytesseract库识别验证码(MAC系统)

pytesseract——验证码的识别——PIL库的介绍

Python 识别图片文字