2022-06-14 13:02:12 索煒達電子 939
文件編號:B8
文件大?。?/strong>146M
猿創(chuàng)承諾:該項目親測正常運行,提供部署視頻,需遠(yuǎn)程調(diào)試部署需另外收費,確保正常使用,不能正常使用全額退款。
簡要概述:本項目基于MATLAB完成數(shù)字驗證碼識別的GUI設(shè)計,圖像處理,驗證碼生成、識別等功能。采用BP神經(jīng)網(wǎng)絡(luò)來實現(xiàn)對驗證碼圖像的識別。驗證碼的識別,大概分為圖片預(yù)處理、分割字符、識別字符三個過程,其中分割字符最為困難。本文采用基于遺傳算法和最大熵優(yōu)化的圖像分割技術(shù)、大津法(OTSU)、自定義閾值三種技術(shù)進行字符分割,并作進一步分析。利用英國薩里大學(xué)提供的印刷體數(shù)字?jǐn)?shù)據(jù)集,共10160張圖片,90%的數(shù)據(jù)用于訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),剩余10%的數(shù)據(jù)用于測試,最終識別準(zhǔn)確率達到93.47%,利用訓(xùn)練所得BP模型完成識別字符,最終驗證碼圖像識別效果較佳。
項目說明:
1.項目內(nèi)img目錄下為0-9十類數(shù)字圖片各1016張,code_source為驗證碼生成所用0-9十類數(shù)字圖片各10張,code_img為生成的驗證碼圖片,md_img存放README.md所用的圖片。項目內(nèi)"*.m"皆為MATLAB源代碼文件,"*.mat"為已處理好的數(shù)據(jù)文件。
2.程序內(nèi)所有路徑為必填項,若沒有路徑單擊對于按鈕將彈出警告框;
3.程序內(nèi)BPNN的參數(shù)都有默認(rèn)取值,若不填寫則按默認(rèn)取值,如圖,鼠標(biāo)懸停輸入框內(nèi),出現(xiàn)提示信息。
4.同樣的,驗證碼個數(shù)及灰度值都有默認(rèn)取值。但是要注意,訓(xùn)練樣本占比為必填項,沒有默認(rèn)取值。
5.若項目路徑下已有數(shù)據(jù)集文件,包括訓(xùn)練集、測試集數(shù)據(jù),如“X_train.mat”時,不需要重新創(chuàng)建數(shù)據(jù)集再分割,單擊載入已有數(shù)據(jù)按鈕,設(shè)定參數(shù)即可繼續(xù)。
6.程序做了一定的異常處理,錯誤操作均會彈出提示信息(輸入數(shù)據(jù)并沒有作校驗)。
7.由于圖片數(shù)據(jù)大,創(chuàng)建分割訓(xùn)練集、測試集耗時很長
運行步驟:
1.打開MATLAB,運行“appgui.m”文件,即出現(xiàn)程序的主界面。
2.第一模塊“BPNN模型構(gòu)建”中,在創(chuàng)建數(shù)據(jù)集中輸入數(shù)據(jù)路徑,注意填入絕對路徑,且最后必須有'\',單擊確定,彈出窗口,實時顯示當(dāng)前處理的圖片。當(dāng)創(chuàng)建數(shù)據(jù)集完成后,彈出提示框提示創(chuàng)建成功。將在項目路徑下生成文件“inputs.mat”、“outputs.mat”。
3.第一模塊“BPNN模型構(gòu)建”中,在分割數(shù)據(jù)集中輸入訓(xùn)練樣本占比(小數(shù)形式),單擊確定,等待分割完成。將在項目路徑下生成文件“X_train.mat”、“y_train.mat”、“X_test.mat”、“y_test.mat”。
4.第一模塊“BPNN模型構(gòu)建”中,在參數(shù)設(shè)定及網(wǎng)絡(luò)訓(xùn)練中輸入各個參數(shù)的值,單擊訓(xùn)練,神經(jīng)網(wǎng)絡(luò)訓(xùn)練完成后,將在項目路徑下生成文件“bp.mat”。
5.第一模塊“BPNN模型構(gòu)建”中,單擊測試,不可編輯的文本框內(nèi)將產(chǎn)生測試結(jié)果。
6.若對測試結(jié)果不滿意,可返回步驟4,重新設(shè)定參數(shù),重新訓(xùn)練網(wǎng)絡(luò)。
7.第二模塊“生成驗證碼”中,輸入字符數(shù)據(jù)路徑,單擊生成數(shù)據(jù)集,稍等片刻,將在項目路徑下生成文件“codeInputs.mat”、“codeOutputs.mat”。
8.第二模塊“生成驗證碼”中,輸入驗證碼存儲路徑,輸入驗證碼個數(shù),單擊生成驗證碼,等待彈出提示框。即可在存儲路徑下生成指定個數(shù)的驗證碼圖片。
9第二模塊“識別驗證碼”中,單擊選擇驗證碼按鈕,選擇一張驗證碼圖片。單擊識別按鈕即可完成驗證碼識別。
10.當(dāng)驗證碼識別效果不佳時,可采用其他二值化方法,在二值化區(qū)域右側(cè)的彈出式菜單可以選擇二值化方法,若改用自定義level,默認(rèn)取值0.9。再次點擊識別即可重新識別驗證碼。
11.若默認(rèn)灰度level二值化效果同樣不佳,此時可以修改灰度level取值。重新點擊識別即可。
按需寫作:
演示視頻:
點擊查看:系統(tǒng)演示視頻
運行效果:
遠(yuǎn)程協(xié)助:
溫馨提示:索煒達.猿創(chuàng)官方提供收費遠(yuǎn)程協(xié)助,確保您項目運行成功。
點擊查看:遠(yuǎn)程協(xié)助相關(guān)事項
我們提供完整項目文件清單如下:
文件目錄
├ 1.項目源碼
├ 2.運行截圖
└ 3.演示視頻