一種基于尋找特征值的k近鄰手寫識別系統(tǒng)算法
【技術領域】
[0001]本發(fā)明涉及一種基于尋找特征值的K近鄰手寫識別系統(tǒng)算法。
【背景技術】
[0002]手寫字符識別是當前模式識別領域的研宄熱點,也是有難度的公開問題,由于其在生活中應用廣泛,因此其具有深遠的應用需求,近年來隨著計算機技術和數(shù)字圖像處理技術的飛速發(fā)展,手寫識別在文字輸入、電子商務、機器自動輸入等場合已經(jīng)獲得成功的實際應用。
[0003]對于手寫字符的識別,目前已經(jīng)發(fā)展了很多種方法,其中有基于神經(jīng)網(wǎng)絡算法,基于概率統(tǒng)計算法,基于傅里葉變換算法,基于模板匹配算法和基于fisher分類算法等等,由于手寫字體變體極多,識別效果仍然不理想。因此研宄簡單高效的手寫識別依然是一個重要的研宄方向。
【發(fā)明內容】
[0004]為實現(xiàn)上述目的,本發(fā)明采用如下技術方案:一種基于尋找特征值的K近鄰手寫識別系統(tǒng)算法,其特征在于包括以下步驟:
步驟S1:對字符圖像進行預處理,將所述字符圖像轉化成1*A2二維矩陣,且A=32 ;
步驟S2:取不同字符的對照圖像各B張作為訓練集,經(jīng)矩陣合并,閾值設定及數(shù)值重置得到其各字符對應的特征矩陣M,且B=10 ;
步驟S3:根據(jù)所述特征矩陣M及最近鄰算法確定最終匹配的字符。
[0005]在本發(fā)明一實施例中,所述步驟SI的具體內容如下:先將所述字符圖像變成A*A像素的0-1圖像,再將所述A*A像素的0-1圖像展平成1*A2二維矩陣,其中O代表沒有手寫筆跡的地方,I代表有手寫筆跡的地方;
在本發(fā)明一實施例中,所述步驟S2的具體內容如下:
步驟S21:取同一字符的對照圖像B張作為訓練集,對每一張對照圖像進行如步驟SI所述的預處理,可得到B個1*A2二維矩陣,進行合并得到一個B*A 2二維矩陣;
步驟S22:將所述B*A2二維矩陣中相同列的值進行相加,得到一個新的1*A2二維矩陣,所述新的1*A2二維矩陣中每個數(shù)的取值范圍為(0,B);
步驟S23:設定一閾值n,取步驟S22得到的1*A2二維矩陣中數(shù)值最大的η列,并將該η列的數(shù)值重置為1,其余Α2-η列的數(shù)值重置為0,最終得到一個1*Α2的0_1取值的二維矩陣M,M即為該字符的特征矩陣;
步驟S24:取其余字符按步驟S21至步驟S23處理,分別得到其相應的特征矩陣Μ。
[0006]在本發(fā)明一實施例中,所述步驟S3的具體內容如下:
步驟S31:將待識別圖像按步驟SI處理,轉化成1*Α2二維矩陣;
步驟S32:將步驟S31得到的1*Α2二維矩陣分別與步驟S2得到若干個特征矩陣M的倒置相乘,得到若干個特征值; 步驟S33:取所述若干個特征值最大的前i個特征值對應的B*A2二維矩陣,運用最近鄰算法將i個B*A2二維矩陣分別與待識別圖像對應的1*A 2二維矩陣求得的歐式距離進行比較,取其中的最小值,所述最小值對應的字符即為最終匹配的字符。
[0007]本發(fā)明與現(xiàn)有技術相比具有以下有益效果:本發(fā)明極大減少了直接使用最近鄰算法(knn)進行文字識別時的計算復雜度的問題及其所需要的大量存儲空間,當直接使用knn進行100*1024的二維矩陣的匹配時,需要為每個測試向量做2000次距離計算,每個距離計算包括1024個維度浮點運算,總共要執(zhí)行900次,而這個在匹配超過17以上的字符時,其計算復雜度將是不可接受的。
【附圖說明】
[0008]圖1是本發(fā)明方法流程圖。
[0009]圖2是本發(fā)明實施例字符O的32*32像素0_1矩陣圖。
[0010]圖3是本發(fā)明實施例字符I的32*32像素0_1矩陣圖。
[0011]圖4是本發(fā)明實施例字符2的32*32像素0_1矩陣圖。
[0012]圖5是本發(fā)明實施例字符O生成的100*1024矩陣局部圖。
[0013]圖6是本發(fā)明實施例字符O特征矩陣局部圖。
【具體實施方式】
[0014]下面結合附圖及實施例對本發(fā)明做進一步說明。
[0015]請參照圖1,本發(fā)明提供一種基于尋找特征值的K近鄰手寫識別系統(tǒng)算法,其特征在于包括以下步驟:
步驟S1:對字符圖像進行預處理,將所述字符圖像轉化成1*A2二維矩陣,于本實施例中基于計算精確度及方便計算機儲存的角度出發(fā),將A設為32,即生成1*1024 二維矩陣,具體內容如下:先將所述字符圖像變成32*32像素的0-1圖像,再將所述32*32像素的0_1圖像展平成1*1024 二維矩陣,其中O代表沒有手寫筆跡的地方,I代表有手寫筆跡的地方,如圖2、圖3、圖4所示分別為字符0、1、2的32*32像素0_1矩陣圖。
[0016]步驟S2:取不同字符的對照圖像各B張作為訓練集,經(jīng)矩陣合并,閾值設定及數(shù)值重置得到其各字符對應的特征矩陣M,于本實施例中基于計算精確度及方便計算機儲存的角度出發(fā),將B設為100 ;
所述步驟S2的具體內容如下:
步驟S21:取同一字符的對照圖像100張作為訓練集,對每一張對照圖像進行如步驟SI所述的預處理,可得到100個1*1024 二維矩陣,進行合并得到一個100*1024 二維矩陣;如圖5所示為字符O生成的100*1024矩陣局部圖。
[0017]步驟S22:將所述100*1024 二維矩陣中相同列的值進行相加,得到一個新的1*1024 二維矩陣,所述新的1*1024 二維矩陣中每個數(shù)的取值范圍為(0,100);
步驟S23:設定一閾值n,取步驟S22得到的1*1024 二維矩陣中數(shù)值最大的η列,并將該η列的數(shù)值重置為1,其余1024-η列的數(shù)值重置為0,最終得到一個1*1024的0_1取值的二維矩陣M,M即為該字符的特征矩陣,圖6所示為字符O特征矩陣局部圖。
[0018]步驟S24:取其余字符按步驟S21至步驟S23處理,分別得到其相應的特征矩陣Μ。
[0019]步驟S3:根據(jù)所述特征矩陣M及最近鄰算法確定最終匹配的字符。
[0020]所述步驟S3的具體內容如下:
步驟S31:將待識別圖像按步驟SI處理,轉化成1*1024 二維矩陣;
步驟S32:將步驟S31得到的1*A2二維矩陣分別與步驟S2得到若干個特征矩陣M的倒置相乘,得到若干個特征值;
步驟S33:取所述若干個特征值最大的前i個特征值對應的100*1024 二維矩陣,運用最近鄰算法將i個100*1024 二維矩陣分別與待識別圖像對應的1*1024 二維矩陣求得的歐式距離進行比較,取其中的最小值,所述最小值對應的字符即為最終匹配的字符。
[0021]以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應屬本發(fā)明的涵蓋范圍。
【主權項】
1.一種基于尋找特征值的K近鄰手寫識別系統(tǒng)算法,其特征在于包括以下步驟: 步驟S1:對字符圖像進行預處理,將所述字符圖像轉化成1*A2二維矩陣,且A=32 ; 步驟S2:取不同字符的對照圖像各B張作為訓練集,經(jīng)矩陣合并,閾值設定及數(shù)值重置得到其各字符對應的特征矩陣M,且B=10 ; 步驟S3:根據(jù)所述特征矩陣M及最近鄰算法確定最終匹配的字符。
2.根據(jù)權利要求1所述的基于尋找特征值的K近鄰手寫識別系統(tǒng)算法,其特征在于:所述步驟SI的具體內容如下:先將所述字符圖像變成A*A像素的0-1圖像,再將所述A*A像素的0-1圖像展平成1*A2二維矩陣,其中O代表沒有手寫筆跡的地方,I代表有手寫筆跡的地方; 根據(jù)權利要求1所述的基于尋找特征值的K近鄰手寫識別系統(tǒng)算法,其特征在于:所述步驟S2的具體內容如下: 步驟S21:取同一字符的對照圖像B張作為訓練集,對每一張對照圖像進行如步驟SI所述的預處理,可得到B個1*A2二維矩陣,進行合并得到一個B*A 2二維矩陣; 步驟S22:將所述B*A2二維矩陣中相同列的值進行相加,得到一個新的1*A2二維矩陣,所述新的1*A2二維矩陣中每個數(shù)的取值范圍為(0,B); 步驟S23:設定一閾值n,取步驟S22得到的1*A2二維矩陣中數(shù)值最大的η列,并將該η列的數(shù)值重置為1,其余Α2-η列的數(shù)值重置為0,最終得到一個1*Α2的0_1取值的二維矩陣M,M即為該字符的特征矩陣; 步驟S24:取其余字符按步驟S21至步驟S23處理,分別得到其相應的特征矩陣Μ。
3.根據(jù)權利要求1所述的基于尋找特征值的K近鄰手寫識別系統(tǒng)算法,其特征在于:所述步驟S3的具體內容如下: 步驟S31:將待識別圖像按步驟SI處理,轉化成1*Α2二維矩陣; 步驟S32:將步驟S31得到的1*Α2二維矩陣分別與步驟S2得到若干個特征矩陣M的倒置相乘,得到若干個特征值; 步驟S33:取所述若干個特征值最大的前i個特征值對應的B*A2二維矩陣,運用最近鄰算法將i個B*A2二維矩陣分別與待識別圖像對應的1*A 2二維矩陣求得的歐式距離進行比較,取其中的最小值,所述最小值對應的字符即為最終匹配的字符。
【專利摘要】本發(fā)明涉及一種基于尋找特征值的K近鄰手寫識別系統(tǒng)算法,包括以下步驟:步驟S1:對字符圖像進行預處理,將所述字符圖像轉化成1*A2二維矩陣;步驟S2:取不同字符的對照圖像各B張作為訓練集,經(jīng)矩陣合并,閾值設定及數(shù)值重置得到其各字符對應的特征矩陣M;步驟S3:根據(jù)所述特征矩陣M及最近鄰算法確定最終匹配的字符。本發(fā)明極大地降低了原本knn的計算復雜度和所需的存儲空間,加快了手寫輸入的識別速度,讓極大規(guī)模的最近鄰的數(shù)據(jù)處理變?yōu)榭赡?,并且該算法使每個訓練集的字符都保持相對的獨立,可以極大方便的將其轉變?yōu)椴⑿杏嬎隳P停M一步提升算法的執(zhí)行速度和實用性。
【IPC分類】G06K9-68
【公開號】CN104766101
【申請?zhí)枴緾N201510192532
【發(fā)明人】姚劍敏, 郭太良, 林志賢, 葉蕓, 林金堂, 郭明勇, 周雄圖
【申請人】福州大學
【公開日】2015年7月8日
【申請日】2015年4月22日