淺談圖形驗證碼的識別!

來源:互聯網
上載者:User
    本問所講的技術只是驗證碼識別的初級技術,只能識別一些簡單的驗證碼,比如符合下列部分條件的:字型工整、位置固定、顏色統一、沒有幹擾點、背靜單純,初步體現了OCR原理(非常弱智:)
     本文講的是通過抓特徵點來達到識別目的。圖片由一個一個的點(像素)組成,點的顏色變化就組成了我們看見的圖片,呈現一個圖象就是那幾個點按照一定的順序排列而已。
         比如csdn使用的驗證碼(下圖),去掉上下左右的白邊,每個數字使用8*12=96個像素,蘭色的點就是我們看到的數字了,0-9這10個數字蘭色點都是固定的,比如"4"就是是(0, 6)(0, 7)(1, 5)(1, 7)(2, 4)(2, 7)(3, 3)(3, 7)(4, 2)(4, 7)(5, 1)(5, 7)(6, 0)(6, 1)(6, 2)(6, 3)(6, 4)(6, 5)(6, 6)(6, 7)(6, 8)(6, 9)(6, 10)(6, 11)(7, 7)這些點組成如何得到,繼續後面。
看起來複雜,實際上是很簡單的,先簡單處理下,你也許看的很明白,比如csdn登陸的驗證碼    ,用mspaint.exe(畫圖)開啟,放大到800%(查看--自訂--800%),
,這裡顯示圖片是一塊一塊組成了,現在我們需要把驗證碼的每個字元獨立處理,就要確定字元範圍了,如何確定?還是在mspaint.exe中,使用"選定"工具,保證每次劃的框剛好把數字完整“框”起來,並且沒有多餘的空白……稍微花點工夫,就可以確定範圍:四個字元的範圍範圍分別是以(3,4)、(12,4)、(21,4)、(30,4)作為左上方寬度是8高度是12的矩形。這些就是我的原始碼裡面
       Dim Rc1 As New Rectangle(3, 4, 8, 12)
         Dim Rc2 As New Rectangle(12, 4, 8, 12)
         Dim Rc3 As New Rectangle(21, 4, 8, 12)
         Dim Rc4 As New Rectangle(30, 4, 8, 12) 所定義的4個範圍的由來了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.