Skip to content

janceChun/VerifyCode

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VerifyCode

使用Python给图片去干扰线和噪点

Img.py 处理验证码,对验证码进行去燥,分割
Crack.py 破解验证码,得到验证码数据
此程序运行在Python3.5版本上,不是Python3请更新Python版本或更改代码,
缺少需要的模块请自行下载,需要的模块可以直接用 pip install 模块名直接下载

初始化程序,
image

如果没有测试图片,可执行GetImgCode方法获取图片,自定义下载验证码地址 image

简单的干扰线去除效果还算可以,干扰线去的还算干净

image

↓↓↓↓↓↓↓↓↓这是原图↓↓↓↓↓↓↓↓↓

image

↓↓↓↓↓↓↓↓↓但是几条干扰线离的太进,就出现问题了↓↓↓↓↓↓↓↓↓ image

↓↓↓↓↓↓↓↓↓这是原图↓↓↓↓↓↓↓↓↓ image

我在这里是通过生成数据模型,在通过python的图形算法获取最邻图片的值,但数据不怎么准确,如果你们在工作上需要,可以先去除干扰线,在通过训练谷歌的Tesseract OCR来获取更精确的数据,训练Tesseract OCR的时候,需要人工辅助,如果你是大牛,可以写脚本自动辅助

↓↓↓↓↓↓↓↓↓下面是我的测试图↓↓↓↓↓↓↓↓↓ image image image

可以看得出来,最后一张多了一个8,这是因为干扰线的关系,去除的不是很干净,在这里我识别的方法是把获取到的数据,和我数据模型里面的数据进行匹配,找到最邻的值,对比图上面有一个小点,我这边的模型里面有个数字8和他很相似,但是,对于这样的问题,通过Tesseract OCR训练识别的话是可以忽略的,如果你数据量挺大,最好使用脚本辅助训练

About

验证码去干扰线识别

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%