淺析去除驗證碼圖片中的干擾線、噪點(java)


     (原創文章,轉載請加轉載地址)  版權聲明:轉載時請以超鏈接形式標明文章原始出處和作者信息及本聲明

  圖片處理中最為重要的是對目標圖片的特征分析,通過這些特征(點)設計圖片預處理方法。針對帶有干擾線、噪點特征的驗證碼圖片,自然有它自己的處理方法,下面是個人的一點愚見,圖像處理常用的是MATLAB和c++來做的,因為它們都有強大的圖像處理的庫,在Java中關於圖像處理的就相對來說少一些。

  圖片像素由24位二進制的機器碼表示,可以表示為ARGB,這里和色彩的RGB並不沖突,這里的A表示的是透明度,網上有很多關於這方面的闡述,這里就不贅述了,我這里要做的是關於純背景色,前景色彩不做要求的驗證碼圖片。該方法是基於像素級的操作,對前景和背景內容在像素上也有一定的要求,要求干擾線比前景內容在筆畫上要細,這一點很重要,也是方法的主要精髓,通過對像素的操作就可以實現去除干擾線和噪點的效果,相信知道一點圖像處理的人應該已經知道怎么回事了吧。

  這些只是本人的一點點原創拙見,出於對圖片處理方面感興趣,寫了一個處理這方面圖片的java小項目,希望大神多多指教,謝謝!

  有許多朋友問到如何識別這些驗證碼圖片,其實要識別這些驗證碼圖片,最難的就是把驗證碼圖像處理成無任何干擾的二值圖像(就是黑白圖,這一步是重點、關鍵,也是難點),然后利用圖像分割切割單個字符,做一定量的字庫,就可以順利實現識別的目的啦。

  廢話不說了,有圖有真相,下面是自己處理過的圖片和效果圖:

       樣板圖:                                                                                                                    

               

                                         

 

  處理后的效果圖:

        

                                       

 

 

 

  

                                                                                                                                                                                                             

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM