驗證碼識別技術研究

內容提要:隨着近年來信息化技術的不斷提升,驗證碼識別逐漸***入了網絡的各個領域。本文主要討論驗證碼識別的思路和方向,識別系統設置中須要考慮的相關重點。算法


一·識別系統的設計:網絡


1.圖像二值化ide


圖像二值化:圖像顯示的時候只能看到兩種顏色(常常是黑色和白色)字體


採用閥值斷定法。閥值的選擇很是重要,若是選擇很差,要麼保留了不少噪聲信息,要麼丟失了不少有用信息。spa


2.圖像的腐蝕設計


腐蝕能夠消除小且無心義的噪聲。圖片


這個能夠根據自身遇到的驗證碼的進行屢次腐蝕。但過分腐蝕將形成有效信息的大量流失——由於腐蝕號碼邊緣的同時,內部的空洞也在逐漸的擴大。get


3.圖像膨脹it


膨脹操做以後,驗證碼圖像會變大,此時能夠根據須要再次執行腐蝕的操做。腐蝕和膨脹是相輔相成的,咱們能夠根據實際的狀況選擇二者執行順序的前後和重複次數,這個必定要靈活變通。io


4.圖像中的值濾波


中值濾波對驗證碼的背景孤立噪聲的去除具備較好的效果,驗證碼內部較小的空洞也能夠經過濾波實現填充。咱們須要根據自身的實際狀況進行屢次值濾波的操做。


5.圖像的分割


圖像分割是根據目標與背景的具體位置,對圖像中的目標,背景進行標記,定位,而後持續講識別的目標與背景分離。有效分割是提取和識別的重中之重。


用投影法進行分割:在號碼的區域間隔,投影爲空白。在讀取驗證碼信息的時候,設置閥值T做爲字符與空白區域的邊界條件。當讀取的信息大於T時,開始讀取字符:反之,則進入間隔區域。


具體步驟以下:1.全面去噪;2.總體水平去噪;3,劃分邊界;4垂直去噪;5水平去噪。


6.文字特徵的提取


(一)·字符結構法


這種方法是以字符的結構特色和筆畫類型,數據以及其位置做爲識別特徵,而不受驗證碼的字符圖像大小的影響,適應性較強。判斷依據:閉環數,閉環位置,筆劃類型等等。


閉環算法以下:


讀入二值化的驗證碼圖像→找到一個像素值爲0(黑色)的背景像素點B→搜索B的連通區域,並將該連通區域內的像素所有記爲背景1(白點)→遍歷圖像中像素值爲0的點→若存在沒有標記爲背景0的像素點,則爲有封閉環:反以內封閉環數爲0→重複遍歷過程,肯定閉環數目


(二)穿梭線法


在圖像中引入貫穿字符區域的直線,根據字符與穿梭線的交點數進行識別。對於存在背景噪點聲的字符,或者腐蝕過分形成筆劃斷裂的字符,穿梭線識別算法表現出先天不足。


(三)節點統計法


節點統計法以字符自己比筆劃間的節點數做爲統計特徵。M爲字符兩個筆劃相交節點數:N爲字符三個筆劃相交的節點數,P爲大於三個筆劃相交節的點數:(MNP)即爲識別特徵。


缺點:因爲字符筆畫較粗,在進行腐蝕處理後,每每形成筆畫丟失,應用效果不佳。


(四)模版匹配法


驗證碼爲英文字母和數字以不一樣字體,大小混合編排,所以這裏咱們相應採用了模版匹配的方法,它沒必要過度顧及它們的格式,在號碼傾斜幅度較小的狀況下,具備明顯優點。以數字8的特徵提取爲例:



首先,咱們把模版網格化。所謂的網格化,即把模版的圖像瓜分爲若干個區域,每個區域即爲一個小網格。接着,以區域內黑色像素數爲特徵,對每一個區域的數字特徵進行提取,即模版的數字化。


數字的標準模版均爲46x72的格式,將其從左上角開始均分紅4x7的網格,每一個網格有10x10=100個像素。餘下右側和下方12個較小的網格,包含的信息量較少,予以忽略。數字8以黑色像素個數爲特徵提取出來的像素矩陣以下面所示:



背景複雜的驗證碼圖片,加強程序的抗干擾性以提升識別率等等,都是有待咱們須要攻克的難關,此篇文章主要是針對驗證碼識別技術作出探討,完善程序是一條漫漫長路!望各位看官和我同樣共同求索。

相關文章
相關標籤/搜索