验证码识别最主要难点在于图像的处理,模型的训练网上有太多例子,所以只要能将图片处理成可训练的数据集,便没什么难度了。
图片处理 (生成data.dat 训练数据)
验证码获取: http://222.24.62.120/CheckCode.aspx
1 | # -*- coding: utf-8 -*- |
图片切分与转化成训练数据: 0代表存在像素点,1则表示没有像素点
数据张量:
- 输入: 336 = 16*21
- 输出: 36
1 | def photo_to_text(img): |
分割图片
将图片转成可训练集 (336 = 16*21)
将图片转化01字符串,存储到训练数据data.dat
完整的图片处理代码
模型训练 (生成theta.dat特征文本)
1 | # -*- coding: utf-8 -*- |