一些字符图片验证码破解的方法
验 证 码(Completely Automated Public Turing testto tell Computers and
Humans Apart, CAPTCHA),即全自动区分计算机和人类的图灵测试,是一种区分
用户是计算机还是人类的公共全自动程序 。
早期的Captcha验证码 "smwm" ,由EZ-
Gimpy程序产生,使用扭曲的字母和背景
颜色梯度
一种更现代的CAPTCHA,其不使用扭曲
的背景及字母,而是增加一条曲线来使得
图像分区(segmentation)更困难。
另一种增加图像分区难度的方法为将符号
彼此拥挤在一起,但其也使得真人用户比
较难以识别
主要方法:
一、基于字符分割OCR
二、基于deep cnn识别
第一种方法的优点在于能充分利用有限的计算资源、模型训练时间短。缺点在于
字符分割难度与验证码复杂度相关,若初始识别准确率低,需收集数据、处理数
据进行模型再学习。
第二种方法的优点在于能一次性解决问题,但缺点也较为明显,需要大量训练数
据集、消耗计算资源。
依据已有情况择优而行。
常见的切割算法:
1、边缘检测算法
2、滴水算法
3、连通域检测算法CFS (Color Filling Segmentation)
4、竖直投影算法
切割算法之滴水算法
滴水算法的滴落规则
图像灰度矩阵坐标系
切割算法之滴水算法
竖直分割与滴水算法分割对比示意图
连通域检测算法CFS (Color Filling Segmentation)
CFS效果图
一种可行的粘连字符切割方法
(适用于字符大小波动不大的情况)
粘连字符分割流程图