一種圖像數(shù)字字符識別方法
【技術領域】
[0001]本發(fā)明涉及一種圖像數(shù)字字符識別方法,屬于圖像處理技術領域。
【背景技術】
[0002]字符識別技術綜合了數(shù)字圖像處理和模式識別技術,是一個重要的研究方向,有巨大的經(jīng)濟價值和現(xiàn)實意義,可以提高管理部門工作效率,節(jié)省大量的人力和資金。早在二十年代,德國科學家Taushek提出光學字符識別OCR概念;五十年代,開始對印刷體字符識別的研究;八十年代后期,字符快速識別成為可能;九十年代初,大量的OCR方面的論文和系統(tǒng)出現(xiàn);今天字符識別技術隨著計算機技術和人工智能研究的發(fā)展而逐步趨向成熟并取得了廣泛應用。
[0003]目前,常用的識別算法有模板匹配,特征匹配,神經(jīng)網(wǎng)絡和子空間法。
[0004]模板匹配法是將提取出的字符圖像縮放到模板一致的大小,與每個模板一一匹配,計算重疊度。其優(yōu)點是算法簡單,計算量較小。但是缺點明顯,即識別的正確率不高,且容易混淆字符。
[0005]神經(jīng)網(wǎng)絡法是一種模擬生物神經(jīng)網(wǎng)絡的算法,能處理一些環(huán)境信息復雜、推理規(guī)則不明確的問題,在字符識別上也取得了重要應用。算法的優(yōu)點是抗干擾能力強,識別正確率高。但其缺點也存在,即事先需要對算法進行大量的推理訓練,在沒有合理的訓練下算法的效率優(yōu)勢并不明顯。同時,算法也較為復雜,計算量也較大。
[0006]特征匹配中的SIFT (尺度不變特征變換)算法是一種提取局部特征的算法,可在圖像的尺度空間中尋找位置、尺度、旋轉(zhuǎn)等特征不變的特征點。正是由于它可檢測這種具有位置、尺度、旋轉(zhuǎn)不變特性的特征點,無需對算法進行訓練,使得該算法一致被沿用至今。它的缺點在于計算速度慢,不適合運算能力較弱的平臺如智能手機等使用,同時檢測出的特征點的維數(shù)較高,當特征點數(shù)量較多時,占用內(nèi)存空間會非常大。
[0007]通常,圖像的維度較高,字符在這樣的高維上分布是稀疏的,即使得基于統(tǒng)計分析的方法會遇到小樣本問題,計算量也隨之增加。子空間法是一種能夠根據(jù)一定的性能目標來尋找線性或非線性的空間變換,將原始數(shù)據(jù)壓縮到一個低維的子空間中,使在該子空間中數(shù)據(jù)分布更為緊湊,使得數(shù)據(jù)描述能力更強,算法的運算量也大大降低。
【發(fā)明內(nèi)容】
[0008]針對上述技術問題,本發(fā)明所要解決的技術問題是提供一種圖像數(shù)字字符識別方法,優(yōu)化了圖像識別算法,使得針對數(shù)字字符的識別準確度得到了有效的提高,并且加快了識別速度,保證了圖像識別的工作效率。
[0009]本發(fā)明為了解決上述技術問題采用以下技術方案:本發(fā)明設計了一種圖像數(shù)字字符識別方法,包括如下步驟:
[0010]步驟001.獲取含有數(shù)字字符的樣本圖像,并進入步驟002 ;
[0011]步驟002.針對樣本圖像進行灰度化處理,獲得樣本灰度圖像,并進入步驟003 ;
[0012]步驟003.采用多尺度Retinex算法針對樣本灰度圖像進行光照預處理操作,獲得光照預處理樣本圖像,并進入步驟004 ;
[0013]步驟004.針對光照預處理樣本圖像進行二值化處理,獲得二值化樣本圖像,并進入步驟005 ;
[0014]步驟005.分別針對二值化樣本圖像中各個數(shù)字字符的角度進行矯正,使得各個數(shù)字字符位于預設角度位置,進而獲得矯正樣本圖像,并進入步驟006 ;
[0015]步驟006.針對矯正樣本圖像,分別獲取其中各個數(shù)字字符所在的數(shù)字字符區(qū)域圖像,并進入步驟007;
[0016]步驟007.采用預先針對0-9各個數(shù)字字符分別訓練好的各個分類器,針對各個數(shù)字字符區(qū)域圖像中的數(shù)字字符進行識別,分別獲取各個數(shù)字字符區(qū)域圖像中的各個數(shù)字字符;并根據(jù)各個數(shù)字字符區(qū)域圖像所在樣本圖像中的位置,針對所獲各個數(shù)字字符進行組合,獲得對應樣本圖像的數(shù)字字符。
[0017]作為本發(fā)明的一種優(yōu)選技術方案,所述步驟003具體包括:采用多尺度Retinex算法,根據(jù)如下公式,基于圖像像素點,針對樣本灰度圖像進行光照預處理操作;
[0018]f(x,y) = l(x,y) Xr(x,y)
[0019]針對樣本灰度圖像中的各個像素點,通過不同角度的高斯核卷積圖像算法獲得樣本灰度圖像中各個像素點的反射分量r(x,y),并針對樣本灰度圖像中各個像素點的反射分量r(x,y),通過加權(quán)算法獲得光照預處理樣本圖像;其中,f(x,y)表示樣本灰度圖像中各個像素點的實際灰度值分量,l(x,y)表示樣本灰度圖像中各個像素點的光照分量。
[0020]作為本發(fā)明的一種優(yōu)選技術方案:所述步驟004中,針對光照預處理樣本圖像中的各個像素點進行二值化處理,獲得二值化樣本圖像。
[0021]作為本發(fā)明的一種優(yōu)選技術方案,所述步驟005具體包括:分別針對二值化樣本圖像中的各個數(shù)字字符,獲得數(shù)字字符上下兩邊的斜率,并獲得上下兩邊斜率的平均值,作為該數(shù)字字符的斜率,然后根據(jù)該數(shù)字字符的斜率,針對該數(shù)字字符進行矯正旋轉(zhuǎn),進而獲得矯正樣本圖像。
[0022]作為本發(fā)明的一種優(yōu)選技術方案:所述步驟005中,分別針對二值化樣本圖像中的各個數(shù)字字符,采用擬合直線法分別擬合數(shù)字字符上下兩邊的像素,用以獲得該數(shù)字字符上下兩邊的斜率。
[0023]作為本發(fā)明的一種優(yōu)選技術方案:所述步驟005中,分別針對二值化樣本圖像中的各個數(shù)字字符,根據(jù)數(shù)字字符的斜率,采用雙線性差值旋轉(zhuǎn)方法,針對該數(shù)字字符進行矯正旋轉(zhuǎn)。
[0024]作為本發(fā)明的一種優(yōu)選技術方案,所述步驟007中,所述預先針對0-9各個數(shù)字字符分別訓練好的各個分類器分別通過如下步驟獲得:
[0025]步驟a.針對分別包含指定數(shù)字的預設數(shù)量的樣本圖像,提取各幅圖像的特征矩陣,進而獲得該數(shù)字所對應的樣本特征矩陣,并進入步驟b ;
[0026]步驟b.將該數(shù)字所對應的樣本特征矩陣按預設規(guī)則分為訓練樣本和測試樣本,并送入預設分類器中進行訓練,獲得針對該數(shù)字訓練好的分類器。
[0027]作為本發(fā)明的一種優(yōu)選技術方案:所述步驟a中,針對分別包含指定數(shù)字的預設數(shù)量的樣本圖像,采用二維PCA算法提取各幅圖像的特征矩陣。
[0028]作為本發(fā)明的一種優(yōu)選技術方案:所述步驟b中,采用九一分法,將該數(shù)字所對應的樣本特征矩陣按預設規(guī)則分為九份訓練樣本和一份測試樣本。
[0029]作為本發(fā)明的一種優(yōu)選技術方案:所述步驟b中,所述預設分類器為決策樹加Adaboost算法所實現(xiàn)的強分類器。
[0030]本發(fā)明所述一種圖像數(shù)字字符識別方法采用以上技術方案與現(xiàn)有技術相比,具有以下技術效果:本發(fā)明設計的圖像數(shù)字字符識別方法,優(yōu)化了算法結(jié)構(gòu),將光照和傾斜的影響放在圖像預處理階段,保證在字符識別前獲得較好的二值化字符圖像;隨后,采用二維PCA算法提取圖像中的主要特征,降低圖像的維度和運算復雜度;而由決策樹和Adaboost算法相結(jié)合,優(yōu)化了分類算法,既保證了識別的效率又降低了出現(xiàn)過擬合的風險;最后使用九一分法驗證分類模型的泛化能力,確保了分類器的穩(wěn)定性;通過對以上的算法優(yōu)化,使得數(shù)字字符識別的準確率和速度均有了明顯提高。
【附圖說明】
[0031]圖1是本發(fā)明設計圖像數(shù)字字符識別方法的流程示意圖。
【具體實施方式】
[0032]下面結(jié)合說明書附圖針對本發(fā)明的【具體實施方式】作進一步詳細的說明。
[0033]如圖1所示,本發(fā)明設計的一種圖像數(shù)字字符識別方法在實際應用過程當中,諸如應用在Android系統(tǒng)的移動終端上,具體包括如下步驟:
[0034]步驟001.Android 系統(tǒng)提供了 Camera,SurfaceView 和 ImageView 組件,結(jié)構(gòu)為三者疊加而成,其中,Camera負責預覽圖像,拍照和截取指定區(qū)域圖像,處于最底層;SurfaceView負責加載預覽圖像和初始化相機參數(shù),處于中間層!ImageView負責繪制取景框,處于最上層。通過Android系統(tǒng)所提供的Camera,SurfaceView和ImageView組件獲取含有數(shù)字字符的樣本圖像,并進入步驟002。
[0035]步驟002.針對樣本圖像進行灰度化處理,獲得樣本灰度圖像,并進入步驟003。
[0036]步驟003.在算法實現(xiàn)中,光照對于圖片拍攝的影響主要來自于不同光照環(huán)境下,如烈日、陰天、夜晚等,造成所拍攝圖像存在區(qū)域光照不均勻的情況,光照不均勻會導致所拍攝圖像在進行二值化處理操作時可能抹去圖像內(nèi)重要的字符信息,因此有必要在二值化處理前進行光照預處理操作,則在這里,設計采用多尺度Retinex算法(MSR)針對樣本灰度圖像進行光照預處理操作,獲得光照預處理樣本圖像,這里具體包括:采用多尺度Retinex算法(MSR),根據(jù)如下公式,基于圖像像素點,針對樣本灰度圖像進行光照預處理操作;
[0037]f(x,y) = l(x,y) Xr(x,y)
[0038]針對樣本灰度圖像中的各個像素