Python——图片文字识别与提取

Python——图片文字识别与提取

在工作中,有时候会有大量的截图、拍照数据需要提取,传统只能人工录入。但随着人工智能的发展,OCR技术已经可以实现了图片的文字识别,本节就讲讲如何安装部署文字识别环境,并进行文字识别实战。

<1> 前置条件

1、掌握Python的基本知识

2、会使用pip安装扩展包

3、下载安装pytesseract软件

4、会配置Windows的环境变量。

<2> 使用pip安装pytesseract扩展包

使用pytesseract包的第一步是使用pip安装该软件包。在命令提示符环境中,输入如下指令:
pip install pytesseract
等待上述指令提示安装安装即可,如果出错,大概率是你的网络问题。如下:

在这里插入图片描述
看到Successfully表示pytesseract包安装成功。

<3> 安装window配套软件包

登录https://digi.bib.uni-mannheim.de/tesseract/网站,下载对应版本的软件。如下:

在这里插入图片描述

然后打开软件,开始软件的安装。如下先选择安装的语言,建议默认English即可,因为改为其它语言可能出现意想不到的错误。点击OK即可。

在这里插入图片描述

出现如下界面,点击Next即可。

在这里插入图片描述

这里会出现License Agreement,这是一个授权条款,点击I Agree即可,如下:

在这里插入图片描述

出现Choose Users界面,意思是你安装的软件谁可以用。建议默认,如果选择just for me会将软件安装到用户目录下。这里直接点击Next即可。

在这里插入图片描述

 接下来是Choose Components,即选择组件。默认支持英文、数字的识别,如果要支持中文识别需要勾选Additional script data(han开头的4个)和Additional language data(chinese开头的4个)两项的中文内容。  然后点击Next,如下:

在这里插入图片描述

这里是安装目录,建议默认,直接点击Next即可。

在这里插入图片描述

接下来是选择是否将其添加到开始菜单,建议默认,直接点击Install。

在这里插入图片描述

然后等待安装完成,如下。

在这里插入图片描述

出现如下界面,表示安装完成。点击Next即可。

在这里插入图片描述

最后点击Finish按钮,结束程序安装。

在这里插入图片描述

<4> 配置环境变量

在Windows系统环境下使用,需要配置环境变量,主要涉及两个。

第一个是path变量需要新增tesseract的安装目录。我采用的默认路径,所以是:"C:\Program Files\Tesseract-OCR"。

在这里插入图片描述

第二个是path变量需要新增tesseract的数据目录。如下:需要先新增一个变量名“TESSDATA_PREFIX”,变量值设置为:"安装路径\tessdata"。我采用的默认路径,所以是:"C:\Program Files\Tesseract-OCR\tessdata",如下:

在这里插入图片描述

然后将新建的变量名添加到path变量列表中,如下:

在这里插入图片描述

完成上述步骤后,需要重启电脑,否则接下来的步骤可能会失效。

验证是否安装成功,在命令提示符下输入tesseract --version,如果出现如下类似信息即表示成功,否则配置失败。

在这里插入图片描述

<5> 图片文字识别

现在有了环境之后,小编就随便在网上找一个图来测试一下,看看效果如何,下面是在随便找的一个路牌图片。

在这里插入图片描述

写一个字符提取脚本,如下:
# 导入相关包
from PIL import Image
import pytesseract

# 打开图片
p='test.png'
im = Image.open(p)

# 使用包进行文字识别
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
text = pytesseract.image_to_string(im, lang='chi_sim')
print(text)
上述代码中,除了我们安装的包pytesseract外,还使用了PIL包,主要是利用PIL.Image完成图片的读取,这里可以不必理会,按照给定的语法使用就行。

利用该代码,输入的结果如下:

在这里插入图片描述

从识别的结果来看,能够识别部分文字,但对于框框内的文字识别出现了错误。对于此类问题需要对代码进行适当调优,从而去除框框的影响,有兴趣的小伙伴可以继续深入研究。

在这里插入图片描述

Python 中,你可以使用 OCR 技术从图片提取文字。OCR 是 Optical Character Recognition 的缩写,即光学字符识别。Python 中有许多 OCR 库可以使用,其中最常用的是 Tesseract。 以下是一些使用 Python 和 Tesseract 进行 OCR 的步骤: 1. 安装 Tesseract 在安装 Tesseract 之前,你需要安装一些依赖项。这些依赖项在不同的操作系统上可能不同。在 Ubuntu 中,你可以使用以下命令安装它们: ``` sudo apt install tesseract-ocr libtesseract-dev libleptonica-dev ``` 在 Windows 中,你可以从 Tesseract 的官方网站下载安装程序:https://github.com/UB-Mannheim/tesseract/wiki 2. 安装 pytesseract 库 pytesseract 是一个 Python 模块,它提供了与 Tesseract 的接口,以便在 Python 中使用它。你可以使用以下命令安装: ``` pip install pytesseract ``` 3. 从图片提取文字 下面是一个简单的 Python 代码示例,它使用 pytesseract 库从图片提取文本: ```python import pytesseract from PIL import Image # 打开图片 img = Image.open('image.png') # 使用 pytesseract 识别文本 text = pytesseract.image_to_string(img, lang='eng') print(text) ``` 在这个示例中,'image.png' 是要识别的图片的文件名。`image_to_string()` 函数将图片作为输入,并返回从图片提取的文本。lang 参数指定要使用的语言。在这里,我们使用了英语。你可以根据需要更改它。 这就是使用 Python图片提取文本的基本步骤。当然,这只是一个简单的示例。在实际应用中,你可能需要进行更多的图像处理和文本清理,以获得更准确的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值