驗證碼識別淺談

來源:互聯網
上載者:User

一、驗證碼的基本知識

  
  驗證碼的主要目的是強制人機互動來抵禦機器自動化攻擊的。大部分的驗證碼設計者並不得要領,不瞭解影像處理,機器視覺,模式識別,人工智慧的基本概念。

  設計的比較好的驗證碼,比如Yahoo,Google,Microsoft等很難識別。而國內Tencent的中文驗證碼雖然難,但算不上好。

 

      某些專家認為,不存在一種用電腦表示的資訊不能被電腦識別的情況,所以,對驗證碼來說,所有驗證碼都是可以識別出來的。

 

二、驗證碼識別處理基本知識

 

人工智慧,模式識別,機器視覺,影像處理的基本知識
 

1)主要流程:

 

  1.讀取驗證碼映像:把各種驗證碼映像解碼,得到平面座標表示的資料,很多開源庫可以用來做這一步。

  2.前處理:驗證碼識別的預先處理主要是去除映像上的幹擾,找出字元地區。對於串連在一起的字元,進行分割。對於複雜的驗證碼,分割這一步非常難處理。對於單個字元,OCR技術的識別率還是能達到比較高的。

  3.訓練:對於模式識別,主要是對樣本進行特徵提取,然後儲存下來。不是訓練的樣本越多越好。過學習,泛化能力差的問題可能在這裡出現。這一步不是必須的,有些識別演算法是不需要訓練的。

  4.識別:對於模式識別來說,主要是驗證碼字元與訓練的樣本的特徵匹配。
 

2)關鍵概念:

 

  模式識別:對事物或者現象的某種表示方式(數值,文字,我們這裡主要想說的是數值),通過一些處理和分析,來描述,歸類,理解,解釋這些事物,現象及其某種抽象。

驗證碼識別的難易:

 1、字元間粘連越厲害的驗證碼越難識別

 

 2、幹擾越沒有規律的驗證碼越難識別;

 

 2、字形數目越少越容易識別(一個字元可能有多種字行)

 

 

驗證碼識別的步驟:

 

1、提取驗證碼圖片樣本,構造識別庫;

 

2、對要識別的驗證碼做預先處理(去噪、去幹擾、分割等);

 

3、識別(與構造的識別庫做比較);

 

 

   

 http://blog.csdn.net/yzm888

 

 提供驗證碼識別介面/DLL開發服務

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.