当前位置:   article > 正文

网页验证码识别实例VB.NET2019(二)_怎么识别图片验证码的1和l,0和o

怎么识别图片验证码的1和l,0和o

  上一节,获取了网页验证码。这一节开始讲讲怎么识别验证码。

  2、获取36个字符的特征码

  2.1 分析验证码特征

验证码图片:
Alt

  经研究,发现该网页验证码的图片中字符是由数字和大写字母组成,每张验证码4个字符。其中由于数字0、1和和字母O和I比较接近,所以这四个字符没有出现,再加上和2比较像的字母Z一共有5个字符没有,所以出现的字符只有35个。
  验证码字符没有变形,大小一致。背景有噪点,大小不一。

  2.3验证码字符特征码必须的流程:

图片灰度化
图片二值化
图片分割
图片特征码提取

图片特征码提取参考louislong007兄弟的博文做了修改(https://blog.csdn.net/louislong007/article/details/47683035)

  2.4 图片灰度化

在这里插入图片描述
  图片灰度化就是利用特定算法,将彩色图片中的每一个像素点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 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/125190
推荐阅读
相关标签
  

闽ICP备14008679号