Python识别验证码,基于Tesseract实现图片文字识别

本文介绍了如何在Python环境下利用Tesseract OCR引擎进行文字识别,特别是针对验证码的识别。Tesseract 4新增了基于LSTM的引擎,提高了对中文的识别效果。文章详细阐述了安装过程、Python代码实现、数据预处理及数据清洗的重要性,指出清晰的图像对于提高识别准确性的关键作用,并分析了识别中的常见问题和改进方向。
摘要由CSDN通过智能技术生成

一.简介

Tesseract是一个开源的文本识别【OCR】引擎,可通过Apache 2.0许可获得。它可以直接使用,或者使用API从图像中提取打印的文本,支持多种语言。该软件包包含一个ORC引擎【libtesseract】和一个命令行程序【tesseract】。Tesseract4添加了一个新的基于LSTM的OCR引擎,该引擎专注于行识别,但仍支持Tesseract 3的传统Tesseract OCR引擎,该引擎通过识别字符模式进行工作。通过使用传统OCR引擎模式【--oem 0】,可以与Tesseract 3兼容。它还需要训练好的数据文件对旧引擎进行支持,例如tessdata目录下的数据文件。

特点:

1.具有Unicode【UTF-8】支持,并且可以“开箱即用”地识别100多种语言。

2.支持各种输出格式,纯文本,hOCR【HTML】,PDF,仅不可见文本的PDF,TSV。Master分支还对ALTO【XML】输出提供实验性支持。

3.在许多情况下,要想获得更好的OCR结果,需要提高提供给Tesseract的图像的质量。

二.在python环境中安装pytesseract

安装成功!

三.在Windows系统下安装Tesseract

配置环境变量:

备注:最新的为4.1.0,建议安装4.x版本,根据一可知,版本4有重大升级,系统性能显著提升,特别是在对中文的识别上更是明显!

四.python代码实现

 1 # -*- coding: utf-8 -*-
 2 """
 3 Spyder Editor
 4 
 5 This is a temporary script file.
 6 """
 7 
 8 import  pytesseract
 9 from PIL import Image
10 
11 #打开验证码图片
12 image = Image.open('E:\\testData\\tess\\1.png')
13 #加载一下图片防止报错,此处可以省略
14 #image.load()
15 #调用show来展示图片,调试用此处可以省略
16 #image.show()
17 text = pytesseract.image_to_string(image,lang='chi_sim')
18 print(text)

五.Python环境执行结果【无数据清洗】

20
a
志
口
吴
吊
5
达
吊
园

康 阮 随 阮 随 随 阮 隆 随 阮 阮 庞
应 阮 院 阮 阮 际 阮 阮 院 院 阮 庞

宇
B
B
B
B
B
B
B
B
B
B
E

 

胡
胡
胡
胡
胡
胡
胡
胡
胡
胡
脱 医

剧 澈 剖 剖 亨 亨 定 亨 宣 河

  

宇
B
B
B
B
E
E
E
E
E
E
振

产 莲

主
主
主
主
主
主
主
主
主
主
生 交

E
E
E
E
E
E
E
E
E
E
E35653

职
职
职
职
职
职
职
职
职
职
E

E
E
E
E
E
E
E
E
E
E
093

View Code

部分示例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值