《驗證碼識別》教程持續更新中_前2篇已更新完畢_可試看
阿新 • • 發佈:2019-02-14
轉自:http://bbs.125.la/thread-13667362-1-1.html
《驗證碼識別零起點篇》 第1課、介紹點陣圖支援庫的使用 - 準備工具:精易程式設計助手
易語言
識別的一般思路
1.讀取驗證碼
2.圖片的顏色處理
3.影象的分割
4.字模的製作
5.識別程式碼的編寫
6.識別完成 圖片處理方法
二值化
去白邊
去雜點
去幹擾線
去背景顏色
柔化
高斯濾波
細化
...... 第4課、簡單的識別程式碼編寫 識別程式碼編寫:
讀取圖片
分割圖片
用字模與分割圖片進行對比
得出識別結果
第5課、識別程式碼的優化 識別程式碼編寫:
讀取圖片
分割圖片
預先載入字模資料
遍歷字型檔(對比分割好的圖片)
得出識別結果
識別完成
第6課、字模的簡單加密 字模加密:
1.需要一個可逆的加密方式(可加密可解密)
2.製作字模的時候進行加密計算,儲存加密後的字模
3.預先載入字模資料的時候,先進行解密
加密的目的:
A.讓使用者無法一看懂我們的資料檔案
B.減小字模檔案的體積
C. ...
注意事項:
1.加密演算法不要太複雜
節約我們的加解密時間
2.加密演算法出錯率要低
避免我們的字模檔案在解密時出現異常錯誤影響識別效果
3.以減小體積為最終目的
字模個數多的時候,減少載入字模檔案的時間,提高效率
第7課、例項講解與總結 步驟:
1.讀取圖片
2.二值化
3.分割
4.做模
5.識別
總結
思路清晰
針對性處理,不要太死板
實踐,看過教程之後,一定要自己寫一遍程式碼,不要以為看起來很簡單,自己用的時候遇到一大堆的問題
善於利用工具
零起點的教程到此為止;
初級篇將講到其他分割方法,影象處理方法,和相似度識別,區域性識別,特殊識別
《驗證碼識別初級篇》
第01課、高階表格的運用 - 學習目的:
利用高階表格反饋圖片的顏色(畫素)分佈情況,便於我們確定後期處理方案包括影象處理與分割方案的確定
打造自己的圖片處理工具
學習目標:
充分利用可利用的資源,善於運用可利用的資源,合理運用可利用資源
舉一反三
不要被別人的思路給禁錮,敢於創新
高階表格主要命令:
置單元格背景顏色
取單元格背景顏色
取游標所在行
取游標所在列
第2課、正太分佈模組的瞭解,脫離易語言點陣圖支援庫 - 學習目的:
利用可利用的資源,選擇自己喜歡的方法作為自己以後的研究方向
對不同資料的使用要記住他們的區別
學習目標:
借鑑前輩們給我們留下的資料,在運用的同時,新增自己的東西,打造合適自己的,自己喜歡的工具
不要侷限於使用別人給自己留下的東西,要善於發現,創新
正太分佈模組的運用
掌握使用方法
瞭解常用命令,有條件有基礎的可以自己改造,按照自己的使用習慣,可以自己根據他人的模組打造自己合適的模組
注意事項
隨著使用資料的增加,每個資料他都有自己的優缺點,要記住他們的區別,有選擇性的去使用.
去除黑白圖中我們不需要的部分,減少後期處理難度和時間
當靜態分割無法達到分割目的的時候,採用動態分割來處理
學習目標:
培養隨機應變能力,能夠根據圖片顏色分佈的不同,選擇正確,合適的影象處理方法,不侷限於定死一種處理方式,提高效率
圖片去白邊(無效區域)與分割
本課重點為去白邊(無效區域)
1.從影象中通過肉眼觀察,確定影象固定的邊框,予以清除,使其不影響其他影象處理
2.從影象四周往中心延伸,去除黑白圖(二值化圖)中四周白色區域,減少後期處理面積
1.橫向掃描顏色分佈,將白色區域部分,作為分割點,分割影象
2.對橫向分割後的資料,進行縱向掃描顏色分佈,去除白色無效部分,以到達最終分割目的.(此步驟類似於去白邊) 第4課、影象快速分割(動態分割) 程式碼編寫思路:
1.橫向掃描顏色分佈,將白色區域部分,作為分割點,分割影象
2.對橫向分割後的資料,進行縱向掃描顏色分佈,去除白色無效部分,以到達最終分割目的.(此步驟類似於去白邊)
3.將分割後的圖片儲存(顯示出來),驗證分割結果 第5課、字模的多樣化製作方法 根據個人習慣與識別效率,選擇字模特徵提取方法
傳統模式:用0和1代表黑白點(零起點介紹模式,也是最常用模式)
座標模式:記錄所有黑點(或白點)座標
較全面的模式:提取其他點陣的同時,記錄寬高度,或者黑點(白點)個數
其他模式:等待你的發現與創新
精簡字模特徵
簡單驗證碼識別是基於圖片處理,影象分割,字模提取,識別演算法而實現,精簡字模特徵能節約我們的處理時間,提高工作效率 第6課、相似度識別程式碼的編寫 流程:
預先載入字型檔檔案,並進行解密,還原出原始點陣特徵
根據分割圖與字模的其他引數(寬度,高度,黑[白]點個數)過濾區別太大的字模
逐一對字模進行匹配,計算黑白點特徵碼的相似度
中途放棄:即發現字模與要匹配的分割圖進行匹配的同時,發現很多地方匹配不上,直接放棄 第7課、簡單驗證碼識別工具的完善與總結 總結:
眼光獨到,一眼確定處理方案
奇思妙想,發揮自己的想象,找出快速,精準的方案
多實踐,通過不斷的猜想,用程式碼進行驗證
善於找錯,程式碼不能達到預期效果,要能快速找到關鍵程式碼
善於利用除錯,寫程式碼不免會出現錯誤,不要慌了手腳,善於利用除錯,找出問題出在哪裡
注意細節,關於圖片相關的處理,細節的地方很多,一旦細節沒注意,容易造成程式碼不能達到預期效果