赞
踩
上一节,获取了网页验证码。这一节开始讲讲怎么识别验证码。
验证码图片:
经研究,发现该网页验证码的图片中字符是由数字和大写字母组成,每张验证码4个字符。其中由于数字0、1和和字母O和I比较接近,所以这四个字符没有出现,再加上和2比较像的字母Z一共有5个字符没有,所以出现的字符只有35个。
验证码字符没有变形,大小一致。背景有噪点,大小不一。
图片特征码提取参考louislong007兄弟的博文做了修改(https://blog.csdn.net/louislong007/article/details/47683035)
图片灰度化就是利用特定算法,将彩色图片中的每一个像素点R、G、B三个颜色分量转换为相同的色值(0-255)。
根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。
''' <summary> ''' 函数功能:灰度化bitmap图像 ''' </summary> ''' <param name="bmp">bitmap对象</param> ''' <returns>返回灰度化的bitmap对象</returns> Public Function ConvertToGrayImage(ByVal bmp As Bitmap) As Bitmap Dim bm As Bitmap = New Bitmap(bmp.Width, bmp.Height) Dim i As Integer Dim j As Integer For i = 0 To bmp.Width - 1 For j = 0 To bmp.Height - 1 Dim color As Color = bmp.GetPixel(i, j) '获取该点的像素的RGB的颜色 '利用公式计算灰度值 '根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级, '根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应: 'Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值 Dim gray
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。