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

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

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

文章目录

  • 前言
  • 一、配置环境
    • 1. 安装python依赖
    • 2. 安装识别引擎
      • 安装tesseract识别引擎`(可跳过)`
      • 验证是否安装成功
  • 二、使用步骤
    • 1.引入库
    • 2.提取图片文字
    • 3.运行效果
  • 总结
  • 完整代码


前言

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


一、配置环境

1. 安装python依赖

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

运行以下命令

pip install Pillow
pip install pytesseract 

如果在python中没有报错,说明程序安装成功,
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第2张图片

2. 安装识别引擎

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

咱们直接使用5月10号构建的最新版本。
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第3张图片

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

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

【Python • 图片识别】pytesseract快速识别提取图片中的文字_第4张图片
接下来就是next,完了点击I Agree同意协议,
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第5张图片
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第6张图片
为所有用户安装,然后点next,如图,
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第7张图片
接下来安装中文的语言包用来识别中文,需要滑到下面,选择中文,我这里横排简体中文和竖排简体中文都选择了,完成后点击next,
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第8张图片
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第9张图片
选择安装路径,建议安装到C盘以外,然后点击next
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第10张图片
这里点击安装install

【Python • 图片识别】pytesseract快速识别提取图片中的文字_第11张图片
等待安装完成
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第12张图片
安装完成后,点击next,再点击finish完成安装,
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第13张图片
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第14张图片

验证是否安装成功

添加环境变量,就是你安装到的那个文件夹路径,直接加到path里面,
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第15张图片
然后在命令行运行tesseract -v,如果和下图一样,说明你已经安装成功了,
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第16张图片

二、使用步骤

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.运行效果

以以下图片为例,
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第17张图片

运行效果如下,
【Python • 图片识别】pytesseract快速识别提取图片中的文字_第18张图片


总结

本文介绍了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专精,python,开发语言)