- 该验证码中’3‘在每个字符图片里面处于最高和最左的位置。’m‘在每个字符里面处于最右边的位置。
- 图片里面只有('1','2','3','z','x','c','v','b','n','m')这几个字符。且没有大写。
1.边界切割
3.图片转换为黑白
4.将四个字符切割为单个字符
5.将字符与模板比较(chars_binary.py为字符的getdata()得到的list),不同像素点最少为该字符。
更详细的分析见blog:利用python的PIL库识别强智科技教务系统验证码
qzkj_verifycode
├── char_lists.py #二值化后标准的验证码像素点数组
├── chars_binary.pyc #char_lists.py的pyc文件
├── LICENSE
├── ocr.py #验证码识别函数,包括二值化、切割、识别
├── README.md
└── verifycode #验证码样本文件夹
1W个字符识别率为100%,网页请求+处理时间=88s
convert(‘1’)之后返回图片转换为黑白后的图像(就是convert('L')之后,阈值<127=0,否则为255)