1 實驗目的
本次試驗的目的是建立一個手寫數字識别系統,能夠準确 的提取使用者在手寫闆上寫出的數字,并且能夠正确地識别出來。
2 實驗方法及步驟
此次實驗選擇MATLAB中的GUI界面來建構實驗的平台架構,然後采用基于最小錯誤率的貝葉斯決策來作為識别方法,對手寫數字進行識别。需要在GUI界面中搭建好所需的對象,并寫入完成相關功能的程式。其實作的功能是首先能夠識别使用者輸入的手寫數字,并提取輸入數字的特征;然後将得到的手寫數字特征加上對應數字的标簽,将其存入樣本庫中,用于後面手寫數字的對比識别;最後根據使用者輸入的手寫數字,提取特征并在樣本庫中根據貝葉斯決策來判斷手寫數字的類型,最後顯示識别結果。主要分為以下四個步驟:
(1)平台搭建
本次手寫數字識别系統的程式設計環境為MATLAB,通過在MATLAB的GUI界面中搭建架構,并在對應的對象的回調函數中編寫相關的程式來實作手寫數字識别的功能。
在GUI界面中需要的對象有兩個靜态文本框、一個坐标區、一個可編輯文本,搭建的界面及其功能如圖1所示。
由圖可以看出每個對象都有各自的的功能:“手寫闆”坐标用于使用者書寫數字;“特征提取”可編輯文本用于顯示手寫數字的每個特征值,以便後面的對比識别;“清除”按鈕可以清除使用者寫在“手寫闆”上的數字以及“特征提取”中數字特征值;“提取特征”按鈕的功能是對“手寫闆”中的數字進行識别處理,提取相應的特征值并輸到“特征提取”可編輯文本中顯示;“儲存為樣本”按鈕則是用于建立樣本資料庫,将前期的樣本特征儲存到樣本庫中,以便後面數字的識别;而“識别”按鈕則是根據目前輸入的手寫數字特征,在樣本庫中尋找對應的數字類型。
此次手寫數字識别系統的平台搭建就如圖1所示,然後通過搭建的界面根據需要實作的功能對相應的對象的回調函數編寫程式。
(2)特征描述
特征描述就是對手寫數字進行分析處理,得到數字的特征,然後根據每類數字各自的特征值來識别手寫數字的類型。
在此次設計中,手寫數字特征描述的步驟為:首先将含有全部特征資訊的手寫數字圖像從坐标軸中提取出來,将提取出來的書寫數字圖像進行二值化處理;然後将處理後的圖像分成6 × 6 6\times66×6小格,每個網格中全部1值像素點個數與全部像素點個數之比就是手寫數字在這一網格中的特征值,得到36個網格中的特征值并存入特征矩陣feature中,即feature矩陣包含了手寫數字所有的特征資訊;最後顯示手寫數字的特征圖,判斷每個網格的特征值是否大于預先設定好的門檻值(此次設計中取0.1),若大于門檻值,則此網格全部像素點的值為1,反之網格全部像素點的值為0。其實作如圖2所示。

(3)建立最小錯誤率貝葉斯決策分類器
4)實作手寫數字識别
根據上述設計,得到了手寫數字識别系統。首先,通過輸入樣本得到樣本庫。此次實驗中存入樣本庫samplelib.mat的每類樣本的個數為20,選取的特征參數為6 × 6 6\times 66×6。
1 matlab版本
2014a
2 參考文獻
[1] 蔡利梅.MATLAB圖像處理——理論、算法與執行個體分析[M].清華大學出版社,2020.
[2]楊丹,趙海濱,龍哲.MATLAB圖像處理執行個體詳解[M].清華大學出版社,2013.
[3]周品.MATLAB圖像處理與圖形使用者界面設計[M].清華大學出版社,2013.
[4]劉成龍.精通MATLAB圖像處理[M].清華大學出版社,2015.