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

本文涉及的产品
票据凭证识别,票据凭证识别 200次/月
车辆物流识别,车辆物流识别 200次/月
自定义KV模板,自定义KV模板 500次/账号
简介: 用python中的pytesseract实现文字识别的教程

前言

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

代码前准备

调用模块

首先,win+R在弹出的窗口中输入cmd(如图 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)(注意这个w64和w32)

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

再点击I Agree(图1.4)

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


之后就是配置语言操作

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

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

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

环境配置

(我说你做)首先在系统环境变量中的path复制这个安装后的文件(图1.8-图1.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)

或者是这种

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)

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

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

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

常见问题解答

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

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

二、(错误如下)

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


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

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

相关文章
|
12天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
42 8
|
12天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
33 7
|
12天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
37 4
|
12天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
31 5
|
1月前
|
Python
SciPy 教程 之 Scipy 显著性检验 9
SciPy 教程之 Scipy 显著性检验第9部分,介绍了显著性检验的基本概念、作用及原理,通过样本信息判断假设是否成立。着重讲解了使用scipy.stats模块进行显著性检验的方法,包括正态性检验中的偏度和峰度计算,以及如何利用normaltest()函数评估数据是否符合正态分布。示例代码展示了如何计算一组随机数的偏度和峰度。
29 1
|
1月前
|
BI Python
SciPy 教程 之 Scipy 显著性检验 8
本教程介绍SciPy中显著性检验的应用,包括如何利用scipy.stats模块进行显著性检验,以判断样本与总体假设间的差异是否显著。通过示例代码展示了如何使用describe()函数获取数组的统计描述信息,如观测次数、最小最大值、均值、方差等。
29 1
|
1月前
|
数据采集 数据可视化 数据挖掘
深入浅出:使用Python进行数据分析的基础教程
【10月更文挑战第41天】本文旨在为初学者提供一个关于如何使用Python语言进行数据分析的入门指南。我们将通过实际案例,了解数据处理的基本步骤,包括数据的导入、清洗、处理、分析和可视化。文章将用浅显易懂的语言,带领读者一步步掌握数据分析师的基本功,并在文末附上完整的代码示例供参考和实践。
|
1月前
|
Python
SciPy 教程 之 Scipy 显著性检验 6
显著性检验是统计学中用于判断样本与总体假设间是否存在显著差异的方法。SciPy的scipy.stats模块提供了执行显著性检验的工具,如T检验,用于比较两组数据的均值是否来自同一分布。通过ttest_ind()函数,可以获取两样本的t统计量和p值,进而判断差异是否显著。示例代码展示了如何使用该函数进行T检验并输出结果。
30 1
|
1月前
|
Python
SciPy 教程 之 Scipy 显著性检验 3
本教程介绍Scipy显著性检验,包括其基本概念、原理及应用。显著性检验用于判断样本与总体假设间的差异是否显著,是统计学中的重要工具。Scipy通过`scipy.stats`模块提供了相关功能,支持双边检验等方法。
37 1
|
1月前
|
机器学习/深度学习 Python
SciPy 教程 之 SciPy 插值 2
SciPy插值教程:介绍插值概念及其在数值分析中的应用,特别是在处理数据缺失时的插补和平滑数据集。SciPy的`scipy.interpolate`模块提供了强大的插值功能,如一维插值和样条插值。通过`UnivariateSpline()`函数,可以轻松实现单变量插值,示例代码展示了如何对非线性点进行插值计算。
27 3