用python中的pytesseract实现文字识别的教程

目录

前言

代码前准备

调用模块

下载并安装pytesseract

介绍

下载安装

环境配置

代码实现

常见问题解答

前言

本文章简单介绍如何用python中的pytesseract工具调用Tesseract库实现文字识别。本篇文章是搜集网络资料再结合本人的观点和思考编撰而成,在此十分感谢作者提供的帮助!

代码前准备

调用模块

首先,win+R在弹出的窗口中输入cmd(如图 1.1)
用python中的pytesseract实现文字识别的教程_第1张图片

                                    (图 1.1)

(tips:在此建议大家用“管理员”身份运行cmd)

输入后会弹出一个对话框,在对话框内先后输入以下两行代码

pip install pytesseract
pip install pillow

下载并安装Tesseract

介绍

Tesseract 是一个OCR 库,你可以用pytesseract这个OCR工具来调用它

下载安装

我们可以到这个网站 https://digi.bib.uni-mannheim.de/tesseract/中选择适合你电脑电脑系统以及Tesseract的版本(一般来说数字越大,版本越高)

                                                (图1.2)

选择合适的版本下载下来(图1.2)(注意这个w64和w32)

直接点击这个已经下好的安装包开始安装,点击Next>(图1.3)

用python中的pytesseract实现文字识别的教程_第2张图片

                                                                  (图1.3)

 再点击I Agree(图1.4)

用python中的pytesseract实现文字识别的教程_第3张图片

(图1.4)

 这一步可以默认操作点击Next>(图1.5)

用python中的pytesseract实现文字识别的教程_第4张图片

                                                              (图1.5)

之后就是配置语言操作

Additional language data  (download)..........这是语言包下载(注意:因为Tesseract它本身并未有这个中文简体或繁体的识别语言包,所以这需要手动下载。除此还可以选择其它国家的语言包,来相对应识别文字的语言)(图1.6 和图1.7)

用python中的pytesseract实现文字识别的教程_第5张图片

                                                                           (图1.6) 

用python中的pytesseract实现文字识别的教程_第6张图片

                                                                    (图1.7)

点击Next>点击后默认安装路径(注意:最好是默认安装路径!

原因是等会安装之后运行代码会报错报错的原因可能是“系统找不到指定文件”,这类的问题文章后面会说明如何解决

环境配置

(我说你做)首先在系统环境变量中的path复制这个安装后的文件(图1.8-图1.9)

用python中的pytesseract实现文字识别的教程_第7张图片

用python中的pytesseract实现文字识别的教程_第8张图片

用python中的pytesseract实现文字识别的教程_第9张图片

 然后按顺序点回去即可

代码实现

import os
import pytesseract
# 文字图片的路径
path = 'text_img/'
# 获取图片路径列表
imgs = [path + i for i in os.listdir(path)]
# 打开文件
f = open('text.txt', 'w+', encoding='utf-8')
# 将各个图片的路径写入text.txt文件当中
for img in imgs:
    f.write(img + '\n')
# 关闭文件
f.close()
# 文字识别
string = pytesseract.image_to_string('text.txt', lang='chi_sim')
print(string)

或者是这种

from PIL import Image
import pytesseract

im = Image.open('11.png')

# 识别文字,并指定语言
string = pytesseract.image_to_string(im, lang='chi_sim')
print(string)

注意下!图片存放的位置要注意是在同级还是在非同级

如代码一它这个是图片与程序非同级,代码二则是同级的!!!(图1.10代码一;图1.11代码二)

用python中的pytesseract实现文字识别的教程_第10张图片

用python中的pytesseract实现文字识别的教程_第11张图片

                                                                         (图1.10)

用python中的pytesseract实现文字识别的教程_第12张图片

                                                                          (图1.11) 

算便说一下代码一中的“text”是储存识别图片的名字数据(注意图片的名字不含中文、字符等等)

常见问题解答

一、FileNotFoundError:[WinError 2]系统找不到指定文件。

前面提过了吧!若是要保留这样你可以这么做试试(python-文字识别-tesseract - 知乎 (zhihu.com))#这是别人的作者提供的方案。十分感谢他。

二、(错误如下)

用python中的pytesseract实现文字识别的教程_第13张图片

 没错这是图片的名称含有这个特殊字符、中文等(总之是名称不规范)改一下试试。文章的“代码实现”还提供了两个方式若实在不行换另一个试试。

好了该篇文章结束了,也希望这也能帮助到你,愿你的python编程实力不断增强!

(若文章有一些问题请及时联系作者以便即使改正,谢谢!)

你可能感兴趣的:(文字识别,python)