欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学校教务网验证码识别

程序员文章站 2022-06-13 18:44:58
...

1、取出字模取字模时,我们需要多下载几张图片,使这些图片中,包括所有的字符。
学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别 


2、
图像的预处理:图像的预处理,这种直接根据亮度设个阈值处理就可以了
学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别  

 处理后结果(变成黑白)

 

3、对图片特点进行分析:找出规律
学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别 



4、去噪: 去除干扰线
学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别 


学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别 
 

 
去噪前

 
学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别 
 

 去噪后

原理: 获取每个像素点的周围8个像素值,如果周围大于3个点是黑点(根据实际情况设定),就把它设为白点,其它全设为黑点  就得到上图

 

5、切割:根据找出的规律对图片进行切割,如果没有规律可以根据算法切割
(算法提示:以X轴横向扫描,计算每个Y轴白点的像素,当
Y轴的白点超过一个值(根据图片自己设定),记下此时的X轴坐标为:X1,当Y轴白点继续大于设定值就继续往后扫描,当Y轴白点为0时,记下此时的X轴坐标为:X2,判断这个距离是否有一个字符的宽度,如果有就认为这是一个字符的宽度,开始纵向切割,然后再横向切割

学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别              

纵向切割后得到的图

 
学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别 

横向切得到的图


如果图片有规律,则根据坐标直接切。


6、训练:取去噪后的图片,以验证码内容命名,如下图:
 学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别 

用写好的切割代码,对图片进行切割保存并命名:
学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别  



7、识别输出:读取需要识别图片与图片库进行对比,在一定误差允许范围内,取图片库误差最小的图片,并获取图片名的第一个字符
学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别  


学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别 
如上图图片在识别时被被切割4份后,拿每份与图片库图片比较,此时图片库2-17.jpg与其误差最小,就取2这个字符,返回


最后我的识别结果为:
 

随进抽取部分图片看结果:
学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别 
 

 发现3个错误

继续看

 学校教务网验证码识别
            
    
    博客分类: 验证码 验证码识别 

发现2个错误

到此发现识别接果还挺让人满意的,简单计算了下 正确有80%左右。

 

相关标签: 验证码识别