国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于掃描槍的字符二維條碼識讀算法研究

2014-08-25 07:35,,,,
關(guān)鍵詞:度值條碼字符

,, ,,

(1.浙江工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023;2.杭州網(wǎng)新聞中心,浙江 杭州 310041)

目前,傳統(tǒng)的圖像二維條碼(如DM碼、QR碼等)由于其信息量大、可靠性高、成本低廉、準確度高、容錯能力強等眾多優(yōu)點已經(jīng)被廣泛的應(yīng)用于各種領(lǐng)域[1].隨著二維條碼在手機上的廣泛應(yīng)用,字符二維條碼營運而生.字符二維條碼不同于傳統(tǒng)圖像二維條碼,條碼信息是以字符信息組成條碼矩陣,這種以文本方式構(gòu)建的二維條碼可以極大地降低通信成本,方便手機終端的信息發(fā)送和接收,是移動增值業(yè)務(wù)中的一個重要部分.

傳統(tǒng)的掃描槍并不支持字符二維條碼的識別,因此針對Honeywell掃描槍設(shè)計、開發(fā)針對掃描槍的字符二維條碼識別算法.采用掃描槍進行字符二維條碼拍攝時,往往會存在光照不均或者光線不佳的情況;同時,由于掃描槍自帶的內(nèi)存空間有限,運行速度較慢,都使得一些傳統(tǒng)的圖像分割算法、識別算法無法直接應(yīng)用于掃描槍.因而,筆者主要研究來自掃描槍的字符二維條碼圖像分割方法、字符二維條碼定位方法以及字符分割和識別算法,提出了采用全局閾值化與局部閾值化相結(jié)合的方法進行閾值化處理,并采用形態(tài)學(xué)方法對二值化后的圖像去噪,接著提出了一種改進的圓檢測技術(shù),以十字法為基礎(chǔ),通過形狀角和圓形度值檢測,找出定位符,擬合出字符區(qū)域;再采用投影方法進行字符分割,提出了基于特征融合的識別方法實現(xiàn)字符識別.

1 字符二維條碼圖像分割

由于掃描槍獲得的字符二維條碼圖像是灰度圖(圖1),可直接通過對圖像的分割獲取字符二維條碼.考慮到掃描槍有限的內(nèi)存容量和運算速度,采用閾值化和去噪兩個過程提取字符二維條碼圖像.在現(xiàn)有的閥值化方法中主要有兩類,即全局閾值化方法與局部閾值化方法.其中,在全局閾值分割算法中有一維OTSU算法、Kittler算法和最大熵法等,基于二維灰度直方圖的有二維OTSU算法等.局部閾值化方法則是將圖像按照一定的規(guī)則分割成多個區(qū)域,然后對每個區(qū)域采用特定的方法選取合適的閾值T進行分割.經(jīng)典的局部閾值分割方法有:Bersen算法和Wellner算法.

圖1 字符二維條碼

但總體來講,全局閥值化方法運算開銷大,尤其當光照不均導(dǎo)致,存在對臨界像素分割的模糊性,會導(dǎo)致在后期的特征提取中存在一定誤差,影響識別率.因此提出一種基于全局閾值與局部閾值相結(jié)合的閾值化方法,考慮到掃描槍內(nèi)存和運行速度的限制,筆者采用基于一維OTSU算法作為全局閾值,局部采用Bradley[2]算法進行閾值化,具體算法過程為

1) 遍歷分割出來的字符圖像f(x,y),通過一維OTSU算法取閾值T1.

2) 將明顯大于T1的值設(shè)置為白色,明顯小于T1的設(shè)置為黑色,而在T1臨近領(lǐng)域內(nèi)的值采用Bradley算法進行局部閾值化,根據(jù)實驗數(shù)據(jù),設(shè)置閾值取值范圍為[0.8T1,1.2T1]效果比較好.

3) 對于局部區(qū)域,采用Bradley算法來獲取閾值,記w為Bradley算法的處理寬度,字符條碼圖像中w取為3,其閾值計算式為

(1)

4) 通過閾值分割后,灰度圖像二值化的圖像為g(x,y),則全局分割結(jié)果為

(2)

5) 局部分割結(jié)果為

(3)

針對幾種局部與整體相結(jié)合的閾值化分割算法在PC端做了相應(yīng)測試,將筆者算法與文獻[3]和文獻[4]進行比較,如表1所示,文獻中的算法效果不夠理想,條碼區(qū)域中還混有噪聲,文獻[4]效果清晰,但是引入了許多噪聲,筆者算法既能分割條碼區(qū)域,又能避免噪聲的產(chǎn)生.

一般來講,二值化后的圖像會產(chǎn)生一些椒鹽噪聲,為了提高字符分割的準確率,需對圖像進行去噪.常用的圖像去噪算法有均值濾波、中值濾波等,這些算法對于不同類型的噪聲有一定的去噪效果,但是會引起圖像在細節(jié)上的一些損失,導(dǎo)致去噪后的圖像并不能達到人們預(yù)期的效果.采用數(shù)學(xué)形態(tài)學(xué)方法的開運算方法[5].開運算數(shù)學(xué)形式可表示為

X°B=(XΘB)⊕B

(4)

該運算是一個先腐蝕后膨脹的過程,即X被結(jié)構(gòu)元素B作開運算的結(jié)果.其作用主要是消除圖像中一些孤立的小物體、在纖細點處分離物體及平滑較大物體的邊界,同時并不明顯改變其位置和面積.

閉運算數(shù)學(xué)形式可表示為

X·B=(X⊕B)ΘB

(5)

閉運算與開運算相反,是一個先膨脹后腐蝕的過程,即X被結(jié)構(gòu)元素B作閉合運算的結(jié)果.作用主要用來填平物體內(nèi)細小空洞、連接鄰近物體及平滑物體邊界,同時并不明顯改變其位置和面積.

通過開運算、閉運算來對實現(xiàn)二值化圖像去噪.

表1 幾種全局與局部閾值結(jié)合算法比較

2 字符二維條碼定位

目前,常用的條碼定位方法(圖2)主要有針對QR碼的回形標記、DM碼的L型標記等方法,文獻[6-7]所提出的字符二維條碼的定位符是三角形標記,但是由于回形標記、L型標記和三角形標記定位前期需要找出所有連通區(qū)域,然后根據(jù)回形標記或L型標的特征進行篩選出定位符,而掃描槍內(nèi)存有限,無法存放過多連通區(qū)域,因此字符二維條碼采用實心圓作為定位符,需針對圓的幾何特征進行定位.針對圓形自動檢測技術(shù)主要有基于傳統(tǒng)的Hough變換及相應(yīng)的改進算法[8]、幾何參數(shù)法.近年來,Chen等[9]提出一種新的隨機圓檢測算法,該方法對理想圖像效果比較好,而對于復(fù)雜的圖像,就難以獲得好的效果.

圖2 不同條碼定位符

2.1 圓檢測技術(shù)

由于提出的字符二維條碼是以三個實心圓為定位符,所以,如何定位這些實心圓就成為本算法的一個重要研究內(nèi)容.根據(jù)圓的幾何特性,比較常用的方法有形狀角、圓形度值等.形狀角Dα的定義為

(6)

圓形度值計算式為

(7)

式中S和L分別為圓的面積和周長,理論上,一個標準的圓對應(yīng)的圓形度值為1.根據(jù)這個定義,所有多邊形的圓形度值范圍在[0,1]之間,當圖形越接近圓形時,其圓形度值才能越接近1,因此圓形度值的大小能反映出被檢測圖形的圓形程度.這個方法具有算法復(fù)雜度低、計算速度快和占用內(nèi)存小等優(yōu)點,正滿足掃描槍對于內(nèi)存和時間的限制,同時該方法具有很強的魯棒性.

2.2 基于形狀角與圓形度值的定位技術(shù)

首先采用十字法獲取圓心,十字法的原理是圓心到邊緣距離相等,因此如果一個點到上下左右邊緣距離相等或者四個距離之差在某個閾值ω中,這里ω取5,就把該點劃分為圓心.然后通過這個圓心點,獲取一個連通區(qū)域.由于掃描槍獲得的條碼圖像可能因圖像傾斜導(dǎo)致字符及圓形定位法形變,即圓形定位符會呈現(xiàn)橢圓形.一般來講,若這種形變不太大,仍可認定為圓形定位符.通過實驗驗證,若橢圓形的高寬比設(shè)在[0.8,1.2]范圍內(nèi),能夠取得比較好的效果.其表達式為

H(Ri)∶W(Ri)<=1.2&&H(Ri)∶W(Ri)>=0.8

(8)

式中H(Ri)和W(Ri)分別為連通域的高度和寬度,Ri為第i個連通區(qū)域.

在這些定位方法的基礎(chǔ)上,字符二維條碼的整個定位過程如下:

1) 先進行幾何特征篩選,過濾一些明顯不規(guī)則的背景連通區(qū)域.

2) 對篩選出的連通域進行邊緣檢測,計算連通域質(zhì)心,計算形狀角Dα,理想的圓Dα為0,因此對于Dα≤ε的圖性可判斷為圓,這里取ε=π/6.

3) 通過反腐蝕運算計算連通域周長Li和統(tǒng)計連通域像素點的個數(shù)獲取面積Si,根據(jù)這兩個值可得到每個連通域的圓形度值Ti,即

(9)

如果最終獲得的連通區(qū)域大于三個,則對這些候選連通域的圓形度值進行排序,因為在所有封閉圖形中,圓的圓形度值是最大的,因而,找出排在前面的三個最大圓形度,即對應(yīng)著三個定位符.

4) 定位出實心圓后,需找出三個實心圓相應(yīng)的圓心.計算出圓心,就可以根據(jù)圓心坐標和圓的半徑來確定字符條碼區(qū)域的坐標范圍.這里的圓心坐標計算式為

(10)

(11)

(12)

式中:(xi,yi)為圓心坐標;ri為第i(i=0,1,2)個圓的半徑;Ai為第i個實心圓的面積;Ri為第i個實心圓連通域.

5) 由于字符二維條碼形狀是對稱矩形結(jié)構(gòu),在已知條碼區(qū)域的三個頂點坐標情況下,根據(jù)幾何對稱原理可確定第四個頂點D1的坐標,計算式如為

xD1=xA1-xB1+xC1

(13)

yD1=yA1-yB1+yC1

(14)

最后根據(jù)四邊形A1B1C1D1和圓半徑ri最終得出條碼區(qū)域ABCD,如圖3所示.圖4給出了字符二維條碼的定位過程.

圖3 字符二維條碼的定位區(qū)域

若字符二維條碼圖像存在傾斜問題,還需對圖像進行校正,校正過程如圖5所示.

圖4 字符二維條碼的定位過程

圖5 字符二維條碼圖像校正

3 字符分割與識別

3.1 字符分割

字符分割技術(shù)就是將單個字符從圖像中分割出來.主要的字符分割技術(shù)有投影法和模板匹配法.文獻[10]使用了一種模板匹配與垂直、水平投影法結(jié)合的算法對船名標志牌上的各字符進行分割,該方法可以對噪聲較多的圖像做出精確的分割,但是模板匹配算法邏輯設(shè)計復(fù)雜、循環(huán)迭代次數(shù)過多從而導(dǎo)致計算速度慢.這里,字符分割主要采用了簡單常用的投影法.投影法是對字符圖像進行逐行掃描,統(tǒng)計像素點的投影,即像素點在列上的個數(shù),根據(jù)投影圖像中出現(xiàn)的波峰和波谷,字符為波峰,字符間隙為波谷,找到這些波谷就找到了分割點.該算法簡單易行,但對字符圖像要求比較高,對于一些定位不夠精確或者傾向校正不好圖像,將難以進行分割.由于條碼字符均為全角,行列等寬且對齊的,因此采用投影法進行粗分割,然后再統(tǒng)計像素點的位置進行細分割,具體算法如下:

1) 遍歷分割出的條碼圖像,統(tǒng)計在垂直方式像素點個數(shù),獲取字符圖像垂直投影值.

2) 然后設(shè)置一個平衡窗口w,對投影圖像進行均值平滑.

3) 對平滑后的投影圖像找出波峰和波谷,并根據(jù)波谷劃出垂直分割線.

4) 對字符圖像進行水平投影.

5) 設(shè)置一個平衡窗口h,對投影圖像進行均值平滑.

6) 對平滑后的投影圖像找出波峰和波谷,并根據(jù)波谷劃出水平分割線.

7) 根據(jù)垂直和水平分割線,將字符劃分為N塊,對每塊進行處理,統(tǒng)計每塊中的字符像素點位置.

依據(jù)上述的字符分割算法可以得到圖6的分割結(jié)果.

圖6 字符分割圖

3.2 字符特征提取

對分割后的字符進行歸一化處理后,即可進行字符特征提取.筆者選取了字符的三種特征:1) 網(wǎng)格特征:字符的網(wǎng)格特征依據(jù)指定的維度4×6將每個字符區(qū)域分成24個子區(qū)域,每個子區(qū)域大小為5×5(寬度和高度都為5個像素),統(tǒng)計每個子區(qū)域中黑像素點個數(shù)作為特征.2) 穿透特征:穿透特征是在字符圖像中統(tǒng)計行和列中黑白像素變化次數(shù).3) 內(nèi)部距離特征:內(nèi)部距離特征是在字符圖像中統(tǒng)計行和列中內(nèi)部的像素距離,即逐行(列)掃描字符區(qū)域,從左至右(從上至下)從遇到第一個由黑變白的像素點開始統(tǒng)計,直到遇到第一個由白變黑的像素為止,作為當前行(列)的內(nèi)部像素距離,如圖7所示.

圖7 內(nèi)部距離特征

將上述這三種結(jié)構(gòu)特征方法融合作為字符的特征.其中,網(wǎng)格特征維數(shù)為24,穿越特征的維數(shù)為50,字符內(nèi)部距離特征維數(shù)為50,融合后的總維數(shù)為124.建立了字符特征后,可以采用多種方式進行字符識別.常用的方法有模板匹配法、人工神經(jīng)網(wǎng)絡(luò)法、AdaBoost法及支持向量機(SVM)法.其中人工神經(jīng)網(wǎng)絡(luò)法其學(xué)習(xí)能力好、自適應(yīng)性強與容錯性高,但是需要通過經(jīng)驗和反復(fù)的實驗來確定,訓(xùn)練花費時間長;AdaBoost法適應(yīng)性較弱,容易發(fā)生退化現(xiàn)象,訓(xùn)練所需的時間也較長;SVM法訓(xùn)練后生成的模板過大,掃描槍內(nèi)存無法加載運行.因此采用更為靈活的基于模板匹配方法進行識別[11].即事先建立相應(yīng)的26個字母的模版庫,通過字符特征進行匹配,實現(xiàn)字符識別.例如:在圖8中,通過分割處理、歸一化后獲得的四個字符,表2是該四個字符的三個特征值.

圖8 歸一化后的字符

表2 字符特征值

表2所示的數(shù)值表示該字符在各個維度上的特征值,將每個維度上特征值與模板庫中每個模板對應(yīng)的維度上特征值進行差平方運算,計算得到值作為兩者之間距離,如將圖8中各個字符的特征值分別與模板庫中字符特征值進行差平方計算,其中,圖8中所示字符與模板庫“P”的距離分別為231,252,1 681,1 786,與模板庫中“F”的距離分別為1 705,1 811,138,179.由于距離值越小,則字符與模板越相似,可以看出圖8(a,b)與“P”最相似,圖8(c,d)與“F”最相似.對300幅字符二維條碼圖像在計算機上進行識別,并與采用SVM識別方法進行比較,筆者的識別率能達到98%以上,如表3所示.

表3 實驗結(jié)果對比

筆者的方法在識別率上雖然比SVM方法略差,但是識別速度上明顯優(yōu)于SVM的方法.由于利用SVM識別方法,在訓(xùn)練后會產(chǎn)生龐大的模板庫,無法運行在掃描槍中.因而,筆者采用了基于特征融合的模板匹配識別方法.該方法由于充分利用了字符的形態(tài)特點和排列規(guī)律,具有較好的抗干擾能力.

4 結(jié) 論

首先分析了字符二維條碼的結(jié)構(gòu)特征,研究了基于圓定位符的字符二維條碼定位算法,通過形狀角和圓形度值算法來實現(xiàn)字符二維條碼定位符的定位,進而實現(xiàn)整個條碼區(qū)域的定位.然后通過基于投影法的字符分割技術(shù),通過二次平滑后進行粗分割,再用像素統(tǒng)計方法進行細分割,以此實現(xiàn)字符分割.通過基于特征融合的模板匹配方法,實現(xiàn)條碼字符的識別.該方法不僅速度快,實時性好,而且得到的分割效果也令人滿意.

參考文獻:

[1] 吳佳鵬.二維條碼識讀技術(shù)及其應(yīng)用研究[D].天津:天津大學(xué),2010.

[2] BRADLEY D, ROTH G. Adaptive thresholding using the integral image[J]. Journal of Graphics Tools,2007,12(2):13-21.

[3] 楊朔,尚振宏.一種新的二維條碼圖像二值化算法[J].昆明理工大學(xué)學(xué)報:理工版,2008,3(1):43-51.

[4] 何振芬.字符二維條碼識別技術(shù)研究[D].杭州:浙江工業(yè)大學(xué),2012.

[5] 謝俊喜.基于數(shù)學(xué)形態(tài)學(xué)的二維條碼識別[J].計算機工程與技術(shù),2009,38(2):35-39.

[6] 徐彩虹,劉志,馮曉斐.一種字符二維碼的設(shè)計與實現(xiàn)[J].浙江工業(yè)大學(xué)學(xué)報,2012,40(5):518-523.

[7] 劉志,姜帆,馮曉斐.字符二維條碼編碼方法研究[J].浙江工業(yè)大學(xué)學(xué)報,2013,41(4):444-451.

[8] 秦開懷,王海穎,鄭輯濤.一種基于Hough變換的圓和矩形的快速檢測方法[J].中國圖象圖形學(xué)報,2010,15(1):109-115.

[9] CHEN Hai-feng, LEI Hua, KONG Yan-bo, et al. An improved randomized algorithm for detecting ellipses based on least square approach[J]. Journal of Zhejiang University:Engineering Science,2008,42(8):1360-1364.

[10] 古輝,王益義.一種基于模板匹配的船銘牌字符分割方法[J].浙江工業(yè)大學(xué)學(xué)報,2010,38(1):33-40.

[11] 陳瑋,曹志廣,李劍平.改進的模板匹配方法在車牌識別中的應(yīng)用[J].計算機工程與設(shè)計,2013,34(5):1808-1811.

猜你喜歡
度值條碼字符
探討公路項目路基連續(xù)壓實質(zhì)量檢測技術(shù)
熱線互動
基于空間句法的沈陽市北陵公園可達性分析
淺析影響商品條碼質(zhì)量的主要因素
論高級用字階段漢字系統(tǒng)選擇字符的幾個原則
日雜商品條碼質(zhì)量現(xiàn)狀研究
字符代表幾
一種USB接口字符液晶控制器設(shè)計
圖片輕松變身ASCⅡ藝術(shù)畫
基于互信息量和自回歸模型的鏡頭分割方法
陇南市| 苏尼特右旗| 富平县| 阿巴嘎旗| 松原市| 抚远县| 离岛区| 武城县| 曲麻莱县| 荣昌县| 奈曼旗| 灌阳县| 乌苏市| 东台市| 南丹县| 南木林县| 庆城县| 山阴县| 安达市| 威宁| 岐山县| 苍溪县| 鄱阳县| 辽源市| 南和县| 堆龙德庆县| 墨竹工卡县| 仲巴县| 咸宁市| 定襄县| 贵定县| 吉林省| 盐边县| 无极县| 四会市| 桃园县| 会昌县| 若尔盖县| 海兴县| 英吉沙县| 尚义县|