Python图片文字识别与提取实战记录

 更新时间:2024年09月30日 10:56:58   作者:andyyah晓波  
这篇文章主要介绍了Python图片文字识别与提取的相关资料,本文介绍了如何安装和配置OCR环境,包括安装pytesseract扩展包、窗口配套软件以及配置环境变量,在完成环境搭建后,即可进行图片中文字的提取,需要的朋友可以参考下

前言

在工作中,有时候会有大量的截图、拍照数据需要提取,传统只能人工录入。但随着人工智能的发展,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图片文字识别与提取的文章就介绍到这了,更多相关Python图片文字识别与提取内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用OpenCV进行对象跟踪的示例代码

    利用OpenCV进行对象跟踪的示例代码

    这篇文章主要介绍了如何使用OpenCV中内置的八种不同的对象跟踪算法,实现对物体的跟踪。文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-02-02
  • matplotlib grid()设置网格线外观的实现

    matplotlib grid()设置网格线外观的实现

    这篇文章主要介绍了matplotlib grid()设置网格线外观的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 详解图像上的OpenCV算术运算

    详解图像上的OpenCV算术运算

    图像可以进行算术运算,例如加法、减法和按位运算(AND、OR、NOT、XOR)。这些操作可以帮助改善输入图像的属性。本文主要介绍了OpenCV中常见的图像算术运算,需要的可以参考一下
    2022-10-10
  • python中有关时间日期格式转换问题

    python中有关时间日期格式转换问题

    这篇文章主要介绍了python中有关时间日期格式转换问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Django forms组件的使用教程

    Django forms组件的使用教程

    服务端假设所有用户提交的数据都是不可信任的,所以Django框架内置了form组件来验证用户提交的信息,这篇文章主要介绍了Django forms组件的使用教程,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • python中如何使用insert函数

    python中如何使用insert函数

    这篇文章主要介绍了python中如何使用insert函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python实战之实现简单的名片管理系统

    Python实战之实现简单的名片管理系统

    这篇文章主要介绍了Python实战之实现简单的名片管理系统,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • Python join()函数原理及使用方法

    Python join()函数原理及使用方法

    这篇文章主要介绍了Python join()函数原理及使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 用python画个敬业福字代码

    用python画个敬业福字代码

    大家好,本篇文章主要讲的是用python画个敬业福字代码,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • python3-flask-3将信息写入日志的实操方法

    python3-flask-3将信息写入日志的实操方法

    在本篇文章里小编给大家整理的是关于python3-flask-3将信息写入日志的实操方法,有兴趣的朋友们学习下。
    2019-11-11

最新评论