Python图片文字识别与提取实战记录
目录
- 前言
- <1> 前置条件
- <2> 使用pip安装pytesseract扩展包
- <3> 安装window配套软件包
- <4> 配置环境变量
- <5> 图片文字识别
- 总结
前言
在工作中,有时候会有大量的截图、拍照数据需要提取,传统只能人工录入。但随着人工智能的发展,OCR技术已经可以实现了图片的文字识别,本节就讲讲如何安装部署文字识别环境,并进行文字识别实战。
<1> 前置条件
1、掌握python的基本知识
2、会使用pip安装扩展包
3、下载安装pytesseract软件
4、会配置Windows的环境变量。
<2> 使用pip安装pytesseract扩展包
使用pytesseract包的第一步是使用pip安装该软件包。在命令提示符环境中,输入如下指令:
pip install pytesseract
等待上述指令提示安装安js装即可,如果出错,大概率是你的网络问题。如下:
看到Successfully表示pytesseract包安装成功。<3> 安装window配套软件包
登录https://digi.bib.uni-mannheim.de/tesseract/网站,下载对应版本的软件。如下:
然后打开软件,开始软件的安装。如下先选择安装的语言,建议默认English即可,因为改为其它语android言可能出现意想不到的错误。点击OK即可。
出现如下界面,点击Next即可。
这里会出现License Agreepythonment,这是一个授权条款,点击I Agree即可,如下:
出现Choose Users界面,意思是你安装的软件谁可以用。建议默认,如果选择just for me会将软件安装到用户目录下。这里直接点击Next即可。
接下来是Choose Components,即选择组件。默认支持英文、数字的识别,如果要支持中文识别需要勾选Additional script data(han开头的4个)和Additional language data(chinese开头的4个)两项的中文内容。 然后点击Next,如下:
这里是安装目录,建议默认,直接点击Next即可。
接下来是android选择是否将其添加到开始菜单,建议默认,直接点击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图片文字识别与提取内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论