資源描述:
《數(shù)字驗(yàn)證碼的識(shí)別.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、數(shù)字驗(yàn)證碼的識(shí)別數(shù)字驗(yàn)證碼很多地方都會(huì)用到,我前段時(shí)間也寫過(guò)一篇有關(guān)于生成驗(yàn)證碼的文章,那是隨機(jī)生成大小不一,顏色不一,形狀不一的數(shù)字圖片,本文主要是針對(duì)那些比較規(guī)范的驗(yàn)證碼的識(shí)別,何謂規(guī)范?規(guī)范就是數(shù)字的大小幾乎一致,顏色對(duì)比度挺高,沒什么干擾線.識(shí)別的依據(jù)就是最最最基礎(chǔ)的辦法,比對(duì),先取樣,保存成字模,再用字模去和將要識(shí)別的圖片進(jìn)行比較,取最接近的那個(gè)結(jié)果.不過(guò)在比較之前必須得到圖片里面的數(shù)據(jù)提取出來(lái)并適當(dāng)?shù)厝コ恍└蓴_.下面就是識(shí)別部份的代碼:?/*?*?ImageCode.java?*?*?Created?
2、on?2007年1月18日,?下午10:00?*?*?To?change?this?template,?choose?Tools?
3、?Template?Manager?*?and?open?the?template?in?the?editor.?*/package?net.bccn.hadeslee.programfan;import?java.awt.image.BufferedImage;import?java.io.IOException;import?java.io.InputStream;import?j
4、ava.io.InputStreamReader;import?java.io.StreamTokenizer;import?java.net.URL;import?javax.imageio.ImageIO;/**?*?驗(yàn)證碼識(shí)別程序?*?@author?hadeslee?*/public?class?ImageCode?{????????private?BufferedImage?bi;????private?static?int[][][]?model=new?int[5][10][208];????//靜態(tài)
5、初始化塊????static數(shù)字驗(yàn)證碼的識(shí)別數(shù)字驗(yàn)證碼很多地方都會(huì)用到,我前段時(shí)間也寫過(guò)一篇有關(guān)于生成驗(yàn)證碼的文章,那是隨機(jī)生成大小不一,顏色不一,形狀不一的數(shù)字圖片,本文主要是針對(duì)那些比較規(guī)范的驗(yàn)證碼的識(shí)別,何謂規(guī)范?規(guī)范就是數(shù)字的大小幾乎一致,顏色對(duì)比度挺高,沒什么干擾線.識(shí)別的依據(jù)就是最最最基礎(chǔ)的辦法,比對(duì),先取樣,保存成字模,再用字模去和將要識(shí)別的圖片進(jìn)行比較,取最接近的那個(gè)結(jié)果.不過(guò)在比較之前必須得到圖片里面的數(shù)據(jù)提取出來(lái)并適當(dāng)?shù)厝コ恍└蓴_.下面就是識(shí)別部份的代碼:?/*?*?ImageCode.jav
6、a?*?*?Created?on?2007年1月18日,?下午10:00?*?*?To?change?this?template,?choose?Tools?
7、?Template?Manager?*?and?open?the?template?in?the?editor.?*/package?net.bccn.hadeslee.programfan;import?java.awt.image.BufferedImage;import?java.io.IOException;import?java.io.InputS
8、tream;import?java.io.InputStreamReader;import?java.io.StreamTokenizer;import?java.net.URL;import?javax.imageio.ImageIO;/**?*?驗(yàn)證碼識(shí)別程序?*?@author?hadeslee?*/public?class?ImageCode?{????????private?BufferedImage?bi;????private?static?int[][][]?model=new?int[5][10]
9、[208];????//靜態(tài)初始化塊????static{????????initNumModel();????}????????????/**?????*?Creates?a?new?instance?of?ImageCode?????*/????public?ImageCode()?{????????initNumModel();????}????????public?String?getNumber(InputStream?is){????????try{????????????bi=?ImageIO.rea
10、d(?is?);????????????final?StringBuffer?sb=new?StringBuffer();????????????for(int?i=0;i<4;i++){????????????????int[]?data=this.getData(i);????????????????sb.append(this.doCheck(data