a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

C#實現的簡單驗證碼識別實例

2020-01-24 02:40:15
字體:
來源:轉載
供稿:網友

最近做一個小玩意需要識別驗證碼,之前從來沒有接觸過識別驗證碼這塊,這可難倒了我。所以,在網上搜索如何識別驗證碼,許多前輩寫的博文教會了我。怕以后又忘記了,故此寫篇隨筆記錄。

我要識別的驗證碼是一種非常簡單,如圖:

識別步驟:

1、圖片灰度化(把彩色的驗證碼圖片轉換成灰色的圖片)、圖片二值化

復制代碼 代碼如下:

for (int i = 0; i < bmp.Width; i++)
            {
                for (int j = 0; j < bmp.Height; j++)        //雙重循環,遍歷驗證碼圖片的像素點
                {
                    Color color = bmp.GetPixel(i, j);        //取位圖某點顏色
                    int gray = (int)(color.R * 0.3 + color.G * 0.59 + color.B * 0.11);    //灰度化
                    if (gray * 0.2125 + gray * 0.7154 + gray * 0.0721 >= v)      //二值化,v為閾值,大于等于閾值的設為白色,否者設為黑色
                    {
                        bmp.SetPixel(i, j, Color.FromArgb(255, 255, 255));
                    }
                    else
                    {
                        bmp.SetPixel(i, j, Color.FromArgb(0, 0, 0));
                    }
                }
            }

經過圖片灰度化的處理,圖片就成這樣子:

經過圖片二值化的處理,圖片就成這樣子:

2、圖片分割(把四個數字分割出來,保存像素點代碼)

把原來的整個驗證碼圖片按照固定的寬、高分割出來(我是按左邊距6像素,頂邊距4像素,間隔4像素,寬9像素,高12像素分割)。然后取出各個數字圖片的像素色,255輸出1,其他輸出0。就得到108(9*12)個0,1了。

復制代碼 代碼如下:

111111111111111000000111100000000001001111111100011111111110001111111100100000000001111000000111111111111111

保存完所有數字(0-9)的0,1代碼之后,以后就直接與這9串0,1模糊匹配(有雜色的可能,所以要模糊匹配),然后就實現了自動識別驗證碼。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久国产精品视频 | 久久久久久av| av片免费看 | 亚洲h视频在线观看 | 久久中文字幕一区 | 男女羞羞视频在线观看免费 | www.久久精品视频 | 欧美在线视频一区二区 | 成人久久18免费观看 | 国产成人午夜视频 | 男女羞羞视频免费在线观看 | 日韩一区二区中文字幕 | 国产精品久久久久久久久久10秀 | 精品一区二区三区三区 | 色精品| 99精品全国免费观看视频软件 | 插插插干干干 | 久久免费看 | 国产精品久久久久久亚洲毛片 | 国产精品毛片 | 亚洲高清免费 | 国产午夜视频 | 亚洲一区二区三区四区的 | 玖玖成人 | 四虎在线看片 | 无码日韩精品一区二区免费 | 亚洲精品久久久久久久久久久久久 | 美女毛片 | 国产成人精品免费 | 久久亚洲一区二区三区四区 | 国产欧美日韩一区二区三区 | 中文字幕一区二区不卡 | 国产精品久久久久久久久久久新郎 | www.国产在线 | 久久综合久久久 | 久久精品免费一区二区三区 | 国产亚洲欧美一区二区三区 | 国产精品女人视频 | 天天干天天搞天天射 | www.狠狠干 | 黄色在线观看网站 |