代码改变世界

验证码识别流程

2010-10-28 11:15  xchit  阅读(849)  评论(0编辑  收藏  举报

以前工作需要,需要自动登录别人的网站采集数据;因为有验证码,所以研究哈了验证码识别的流程


主要流程有
1.图像二值化
  二值化实现方法有
  1.1图像灰度化-中值滤波等,同时可以实现背景的去除
  1.2图像灰度化-根据灰度值
  1.3根据图像色系范围进行二值化处理
2.去除噪点
  去除噪点也可以分为如下:
  2.1根据噪点周围的8个点的数目去除
  2.2根据噪点周围的4个正向点去除
  2.3根据有效链接点的数目去除
3.去除干扰线
  一般干扰线都为1像素宽度,纵向或者横向的
4.图像修补,填充一些误删除的点,主要有以下几种方式:
  4.1根据正向有效点的数目进行填充
  4.2根据是否属于某直线的一部分进行填充
5.图像分割
  查找连续的点,并组合数组,然后根据分割出来的长度,对字符进行组合或者分割
6.字符图像大小归一
  将图像大小都设为一致
7.其他调整
  抽骨、梯度等
8.查找特征点(譬如说图像的有效坐标等,根据具体情况具体分析),并确立图像对比方案,可以通过神经网络或者欧氏距离的方式
9.图片学习
  做字库
10.图片识别!