《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于SUSAN檢測算子的二維條碼定位方法
基于SUSAN檢測算子的二維條碼定位方法
來源:微型機(jī)與應(yīng)用2012年第9期
周 樂
(西安建筑科技大學(xué) 信息與控制工程學(xué)院,陜西 西安 710055)
摘要: 以二維條碼Data Matrix在實際應(yīng)用中的圖像為例,采用一種基于圖像最優(yōu)閾值的SUSAN檢測算子,將復(fù)雜背景圖像中的二維條碼圖像區(qū)域檢測出來。使用這種方法可以在最大程度上忽略復(fù)雜背景的干擾,實現(xiàn)二維條碼的快速定位。
Abstract:
Key words :

摘  要:二維條碼Data Matrix在實際應(yīng)用中的圖像為例,采用一種基于圖像最優(yōu)閾值SUSAN檢測算子,將復(fù)雜背景圖像中的二維條碼圖像區(qū)域檢測出來。使用這種方法可以在最大程度上忽略復(fù)雜背景的干擾,實現(xiàn)二維條碼的快速定位。
關(guān)鍵詞: 二維條碼;Data Matrix;最優(yōu)閾值;SUSAN檢測算子

 自動化數(shù)據(jù)采集技術(shù)是信息采集和處理的關(guān)鍵技術(shù)[1],條碼技術(shù)在自動化數(shù)據(jù)采集中占重要地位。二維條碼是在傳統(tǒng)的一維條碼基礎(chǔ)上發(fā)展起來的。傳統(tǒng)的一維條碼由于受信息容量的限制必須依賴數(shù)據(jù)庫,而二維條碼的信息密度高、信息容量大,可以不依賴于數(shù)據(jù)庫。二維條碼不僅可以將數(shù)字、字符等信息存入編碼,而且可以將人臉、指紋和虹膜等圖像信息存入條碼,因此二維條碼在證件識讀、人事管理、運輸包裝、POS系統(tǒng)和電子數(shù)據(jù)交換等方面得到廣泛的應(yīng)用[2]。此外,傳統(tǒng)的一維條碼只有校驗功能,沒有糾錯能力,而二維條碼具有很強(qiáng)的錯誤校驗和錯誤糾正功能,即使條碼符號有污點、殘缺,也能被正確識別出。二維條碼的識別技術(shù)是其應(yīng)用的關(guān)鍵技術(shù)。由于二維條碼密度遠(yuǎn)大于一維條碼,其識別技術(shù)不同于一維條碼,如何快速準(zhǔn)確地識別條碼成為了一個值得研究的問題。
Data Matrix原名Data Code,由美國國際資料公司于1989年發(fā)明,它是一種矩陣式二維條碼[3]。Data Matrix的最小尺寸是目前所有條碼中最小的,尤其適合用于小零件的標(biāo)識以及直接印刷在實體上。本文以Data Matrix條碼為例,研究了基于SUSAN檢測算子的二維條碼識別算法。
1 Data Matrix圖形結(jié)構(gòu)
 Data Matrix的圖形結(jié)構(gòu)如圖1所示。Data Matrix是矩陣式二維條形碼的一種,它以一個矩形圖案表示數(shù)據(jù)信息,通常,黑色模塊表示“1”,白色模塊表示“0”,或者使用相反的表示方法。另外,在實際應(yīng)用中,可以采用不同的印制方式(如圖1中的圓形打點)。Data Matrix圖形可分為定位圖形(尋邊圖形)和數(shù)據(jù)區(qū)兩部分。其中,定位圖形由兩條實線邊組成的“L”形和與其相對的兩條虛線邊組成;數(shù)據(jù)區(qū)是由1、0模塊組成的矩形。基于Data Matrix定位圖形的特性,將其與背景圖形區(qū)別開來,并對“L”形的頂點進(jìn)行精確定位。

2 Data Matrix圖形區(qū)域定位
 在現(xiàn)實條件下拍攝到的二維條碼圖像往往受光線的明暗程度不同,粘貼、印刷的位置不當(dāng),或被遮蓋、污染、出現(xiàn)褶皺等各種外界因素的干擾時,均會直接影響條碼的識讀效果。因此首先需要從復(fù)雜的圖像背景中初步分離出條碼區(qū)域。圖2所示為基于SUSAN檢測算子對Data Matrix圖形區(qū)域初步定位流程。


3 Data Matrix圖形區(qū)域定位
3.1 圖像采集與預(yù)處理

 二維條形碼的獲取由光學(xué)照相或者掃描設(shè)備完成。本實驗使用一個普通的帶有攝像頭的手機(jī)(最大分辨率是300×300),在不配備特殊光源的情況下獲得二維條形碼。最終獲得分辨率為300×300、尺寸為1 600×1 200、位深度為24的RGB彩色圖像。采用自然光照是考慮到降低成本以及適應(yīng)惡劣的環(huán)境的需要。
原始圖像比較大,如果使用原始圖像直接來做實驗,處理速度極為緩慢且耗時。將原始圖像進(jìn)行預(yù)處理,轉(zhuǎn)換為分辨率為72×72、尺寸為178×178、位深度為8的256級灰度圖像。
3.2 圖像分割
 經(jīng)過預(yù)處理得到的灰度圖像除了包含條形碼之外還包含其他的復(fù)雜背景。由于Data Matrix符號的特征是由一個個小方塊構(gòu)成的四邊形,這一特征將它與其他圖形區(qū)別開來,可以清楚地看到條碼區(qū)域具有清晰的邊緣特征,因此首先采用SUSAN算子對整幅圖像進(jìn)行邊緣檢測。
 本文使用SUSAN算子的37個像素的模板,檢測時將模板依次放在圖像中每個點的位置,在每個位置,將模板內(nèi)每個像素的灰度值與核的灰度值進(jìn)行比較,這時需要閾值來確定此處的游程值,試驗中選取的是灰度直方圖的極小點和最優(yōu)閾值兩種閾值。圖3(a)是選用灰度直方圖的極小點作為閾值時的SUSAN檢測后的圖像,可以看到,二維條碼區(qū)域粗略地被檢測出來,但是對于背景中略大的文字噪聲卻很難濾除掉;圖3(b)是選取最優(yōu)閾值時SUSAN檢測后的圖像,可以看到,條碼區(qū)域的邊緣被清晰地檢測出來,并且可以很好地濾除掉背景中的文字噪聲。

 

 

 對預(yù)處理后的灰度圖像經(jīng)過選用最優(yōu)閾值的SUSAN算子檢測邊緣,可以觀察得出, Data Matrix符號的邊緣特征非常復(fù)雜和曲折,與其他僅具有簡單邊緣的圖形大不相同,因此其邊緣可以明確地分辨出來,同時對于背景中的噪聲有很好的濾除作用。
3.3 邊緣圖像投影[5]
 二維條形碼的色塊組合在水平和垂直兩個方向都含有信息。將得到的邊緣圖像分別在水平和垂直方向上投影,突出灰度變化頻繁的區(qū)域,獲得條形碼圖像的粗定位。
3.4 條碼區(qū)域最終定位
 將得到的邊緣圖像在水平和垂直方向上投影,即分別統(tǒng)計第m行(m<圖像高度)和第n列(n<圖像寬度)上的灰度值,令統(tǒng)計值分別為Sm和Sn。由于Data Matrix圖像復(fù)雜的邊緣曲線在一定坐標(biāo)范圍內(nèi)(m1<m<m2,n1<n<n2)表現(xiàn)出較小且變化頻繁的投影值,因此將水平與垂直方向的區(qū)域(區(qū)域[(m1,n1),(m1,n2),(m2,n1),(m2,n2)])結(jié)合起來,便可以初步確定Data Matrix圖像在整個圖像中的大致位置。為了避免計算誤差,可以考慮在區(qū)域兩端留出一定量,對得到的區(qū)域進(jìn)行幾何裁剪,將Data Matrix圖像提取出來。條碼區(qū)域最終定位圖如圖4所示。

 通過對圖像識別的研究,實現(xiàn)了實際應(yīng)用中二維條形碼Data Matrix的初步提取。對實際圖片進(jìn)行了實驗,利用本文提出的識別算法能有效地去除背景和噪聲的干擾,達(dá)到快速、準(zhǔn)確識別的目的。
參考文獻(xiàn)
[1] SRIRAM T, RAO V K. Applications of barcode technology in automated storage&retrieval systems[C]. IECON Proceedings, 1996(1):5-10.
[2] 張鐸,王耀球.條碼技術(shù)與電子數(shù)據(jù)交換[M].北京:中國鐵道出版社,1998.
[3] 矯云起,張成海.二維條碼技術(shù)[M].北京:中國物價出版社,1996.
[4] 章毓晉.圖像工程(第二版)[M].北京:清華大學(xué)出版社,2007.
[5] 陳媛媛,施鵬飛.二維條形碼的識別及應(yīng)用[J].測控技術(shù),2006,25(12).

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。