?

基于圖像的二維條形碼識別技術研究

2010-09-04 03:38趙群禮周秋平
合肥師范學院學報 2010年6期
關鍵詞:碼字條碼條形碼

趙群禮, 周秋平

(合肥師范學院計算機科學與技術系,安徽合肥230061)

基于圖像的二維條形碼識別技術研究

趙群禮, 周秋平

(合肥師范學院計算機科學與技術系,安徽合肥230061)

簡要闡述了條形碼技術國內外發展狀況和二維條形碼的編碼方法,并對圖像式條形碼識別過程進行了概述,提出了其中存在的技術難點并給出了解決方案,最后文章指出了條形碼識別技術的發展趨勢。

條形碼;二維條形碼;圖像式條形碼識別技術

1 引言

條形碼技術起源于20世紀40年代的美國,隨著信息技術的飛速發展,條形碼技術發展迅速,在國際上已得到了廣泛的應用。目前應用較多的是一維條形碼技術,如:UPC-E、EAN-8、EAN-13等[1]。但一維條形碼存在包含信息量小、沒有糾錯能力、保密性不高、需要數據庫支持等缺點,隨著社會的發展,物品的豐富,一維條形碼技術越來越滿足不了實際的需求,因此促使人們開始對二維條形碼技術進行研究。

目前二維條形碼技術已有較深入的發展,出現了多種編碼標準,應用比較廣泛的有 QR Code (Quick Response Code)碼、PDF417(Portable Data File 417)碼、Code49碼、Code 16K碼、Data Matrix碼、MaxiCode碼等[2,3]。二維條形碼的出現,促使條形碼識別技術也得到了進一步發展,由于二維條碼要比一維條碼復雜的多,廣泛應用于一維條形碼識別中的光電技術,已不適合二維條形碼的識別,這促使新的條碼識別技術——圖像式識別技術的出現。在國外,二維條碼技術已經處于應用階段,并已制造出性能較好的圖像式條碼識別設備。例如:美國HHP公司生產的IT4600系列、IT5800的二維圖像式條碼識別器。國內圖像式識別技術的研究起步比較晚,還處在研究階段,與國外水平還有很大差距。雖然條碼的標準和壓縮算法早已公開,然而由于技術保密原因,核心技術不公開,并受到嚴格的專利保護。所以國內的圖像模式的二維條碼大多依賴于進口,但價格非常昂貴,影響了二維條碼的普及。目前國內的產品大都是滿足客戶的某種需要而設計,有很大的局限性。本文將結合二維條形碼的編碼原理,對圖像式二維條形碼的識別技術進行探討。

2 二維條形碼的編碼方法

二維條形碼的編碼過程就是將可讀信息轉換成用于繪制條碼的碼字,然后加上必要的附加信息。其流程為:運用編碼算法將有用信息轉換成二維條形碼碼字,再通過數據庫查詢把碼字轉換成對應的條空相間的符號字符,最后在計算機上將那些層層相疊的條空繪出,即二維條形碼圖像。二維條形碼按照其編碼原理和結構形狀的差異主要分為堆積或層排式和棋盤或矩陣式兩大類,本文以層排式二維條形碼為例簡要介紹二維條形碼的編碼方法。

層排式二維條形碼是一種多層、可變長度、具有高容量和糾錯能力的連續型二維條碼。如圖1所示每一個二維條形碼可以包括3~90層,每一層由起始符/終止符、左/右層指示符及1~30個符號字符組成。每一個符號字符由17個模塊構成,其中包括4個條和4個空,每一個條、空由1~6個模塊組成。由于層數及每一層的符號字符數是可變的,故二維條形碼符號的高寬比可以變化以適應不同的需要。

圖1 層排式二維條形碼結構示意圖

對于層排式二維條碼,編碼方法從根本上與一維條碼有相似之處,但也存在很大不同。二維條碼編碼最重要的還是將數據(漢字或ASCII碼)轉換成符號的過程,這一過程主要采用文本組合模式??梢詫祿c文本模式下的值的對應關系保存在一個數據庫的一張數據表中,通過數據庫查詢得到的是各個字符對應的文本碼,將這些文本碼兩兩組合在一起就可以生成二維條形碼字。組合公式為:碼字=30×H+L,式中H、L分別表示字符對中的高位和低位字符值。

根據這些數據碼字以及選擇的錯誤糾正等級計算糾錯碼字。錯誤糾正碼字根據里德——索洛蒙(Reed-Solomn)錯誤控制碼算法計算,包括如下幾個步驟:

(1)建立符號數據多項式,該多項式的表達式是:

式中多項式的系數由數據碼字區的碼字組成。其中包括符號長度碼字、數據碼字和填充碼字,排列位置如圖2所示,其中Li,Ri為左、右行指示符,di為數據碼字,Ci為糾錯碼字[3]。

圖2 行指示符、數據和糾錯碼字

(2)建立糾錯碼字的生成多項式,具有k個錯誤糾正碼字的生成多項式為:

(3)計算錯誤糾正碼字,對于一組給定的數據碼字和一個選定的錯誤糾正等級,錯誤糾正碼字為符號數據多項式 d(x)乘以 xk,然后除以生成多項式 g (x),所得余式的各項系數的補數。得到糾錯碼字之后,根據碼字數量選擇條碼的行數和列數。然后可以根據數據碼字、左/右行指示符、糾錯碼字以及各行的族號查詢各個碼字對應的符號字符,并根據這些符號字符繪制條形碼,這一過程可以仿照一維條碼的繪制方法。

3 圖像式條形碼的識別方法

采用數字圖像處理技術對二維條碼進行識別,是二維條形碼識別中較常用的方法,它在處理污損的條形碼方面有光電識別方法無法比擬的優勢。另外圖像式識別方法對識別角度的要求沒有光電識別方法那么嚴格,對有些二維條形碼(如QR Code碼)可以以任意的角度識別。

3.1 圖像式條形碼識別過程

在圖像式條形碼識別過程中,首先使用圖像采集設備采集二維條形碼圖像,然后利用圖像處理技術對條形碼圖像進行去噪和分割處理,最后調用條碼特征讀取算法,讀出條碼值并顯示識別結果,圖3是圖像式條形碼識別過程,其中各模塊的功能如下:

(1)圖像采集。通過數碼相機、掃描儀或專用的圖像傳感器,如CCD圖像傳感器或CMOS圖像傳感器等設備采集條形碼圖像。

(2)圖像預處理。圖像預處理過程主要包括圖像降噪、背景分離、圖像校正等環節。由于采集系統或其他原因產生的噪聲,采集的圖像有些比較模糊或存在黑白孤立點,這對條碼圖像的進一步處理極為不利,因此要根據條碼圖像噪聲是否嚴重,選擇一種或多種濾波器進行濾波,去除噪聲。目前采用較多的是中值濾波法。背景分離是將條碼區與背景分離,從而避免在沒有有效信息的區域進行特征提取,提高后續處理的速度。背景分離一般采用標準差閾值跟蹤法,圖像條碼部分由黑白相間的條塊組成,灰度變化大,因而標準差較大;而背景部分灰度分布較為平坦,標準差較小。將條碼圖像分塊,每個小塊的標準差若大于某一閾值,則該小塊中的所有像素點為有效;否則為背景。由于采集進來的圖像總會出現一定的傾斜和偏移產生幾何畸變,給快速、正確地識別條碼帶來困難,因此必須進行圖像校正,一般方法是:利用行差運算與Hough變換相結合,快速、準確找到條碼圖像邊界線,計算出傾斜角度,通過雙線性插值對條碼圖像進行校正。

圖3 圖像式條形碼識別過程

(3)二值化處理。條碼識別是以二值圖像為基礎的,圖像二值化算法很多,條碼圖像直方圖具有很好的雙峰特性,一般采用大津閾值法[4]就能夠對于條碼圖像進行很好地分割。圖像二值化之后,二值圖像中“1”像素代表黑條部分,“0”像素代表白條部分。

(4)邊緣檢測。條碼識別問題的實質是邊緣檢測的問題,傳統的條碼識別算法是根據二階導數零交叉來檢測條碼邊緣[2,6]。

(5)條碼讀取。根據確定的條碼邊緣確定條碼黑白模塊寬度,利用不同的條碼編碼規則編制相應的譯碼程序,確定條碼字符值,這一算法是非常成熟的。

(6)結果顯示和處理。一般由計算機顯示條碼識別的結果,并可根據結果進行實際應用中的處理。

3.2 圖像式條碼識別技術難點

在圖像式的條形碼識別過程中,若能知道條碼條空寬度值,對于不同的條碼都有很成熟的算法來確定條碼符號值。因此在圖像式條碼識別過程中,圖像處理部分的算法是十分重要的,不同的圖像處理方法將影響后續的條碼識別結果。圖像處理過程中的技術難點如下:

(1)圖像模糊問題。因條碼印刷質量差、光照較弱、攝像設備質量等原因,采集的條形碼圖像比較模糊,黑白條塊之間的邊緣不清晰,甚至黑白條的邊緣幾乎融合在一起。針對這一問題,目前國內的一些處理方法都采用各種經典濾波技術對條碼圖像進行去噪,如廣泛采用的中值濾波技術。當采集圖像非常模糊時,這種處理方法具有一定局限性,有時甚至導致條碼無法識別。

(2)邊緣檢測問題。在傳統算法中一般是根據二階導數零交叉來檢測條碼邊緣。由于圖像采集、圖像濾波過程中在條碼圖像邊緣處會有一定程度的模糊。又由于在條碼圖像去噪時,大都選用經典的中值濾波算法,該算法對椒鹽噪聲去噪聲效果很明顯,但對高斯噪聲去噪效果卻較差。而在實際應用中,圖像采集產生的模糊基本上都是高斯噪聲,而中值濾波法對該噪聲不能有效地去除。在邊緣模糊情況下采用二階導數零交叉來檢測條碼邊緣會有1~2個像素的偏差,這對條碼的條空寬度的確定會產生影響,從而影響識別。因此邊緣模糊是影響條碼識別的重要因素。

3.3 解決技術難點的方法

要解決邊緣模糊問題,必須對噪聲進行分析。我們知道平滑的圖像主要集中于中低頻部分,噪聲信息或邊緣信息主要集中在高頻段。通常的濾波方法都是不加區分的濾掉高頻信息,不可避免地也會濾掉邊緣信息,從而造成圖像邊緣模糊。文獻[6]提出了一種基于邊緣檢測的小波去噪方法,該方法利用小波變換良好的時頻特性,只要沿著梯度方向檢測小波變換系數模值的局部極大值點,即可得到圖像的邊緣點,但小波系數的模值極大值點也可能對應著噪聲點。因此在檢測出小波系數的極大值后,還要去除與噪聲點對應的小波系數。噪聲的Lipschitz指數為負,信號的Lipschitz指數為正,它們隨著尺度的增大信號系數逐漸變大,而噪聲系數逐漸變小。根據這一特點可除去噪聲造成的虛假邊緣,將非噪聲點的模值極大點連接起來得到圖像的邊緣。這種方法既可達到去噪目的又可保持圖像的邊緣,這種把去噪和邊緣檢測結合起來的新思路在一定程度上解決了去噪引起圖像邊緣模糊的難題。

4 結束語

隨著二維條形碼的應用普及,圖像處理技術在識別二維條形碼中的應用將會越來越廣泛。和傳統的光電識別技術相比,采用圖像處理技術對有污染、殘缺、產生幾何畸變的條形碼的識別率更高,也更具有優勢,因此研究高效的圖像式條碼識別方法是今后條碼識別技術發展的方向。由于我國對圖像式條碼識別方法研究起步較晚,還處于研究階段,目前的很多識別算法都具有局限性,因此開發出更具有通用性的圖像式條碼識別算法,將具有十分重要的意義。

[1] 李金哲.條形碼自動識別系統[M].北京:國防工業出版社,1991.

[2] Normand N,Viard-Guadin C.Two Dimensional Bar Code Reader[J].Proceedings of SPIE,1994:125-132.

[3] 中華人民共和國國家標準 GB/T17172-1997四一七條碼[S].國家技術監督局1997.12.25批準,1998.8.1實施.

[4] 李了了,鄧善熙,丁興號.基于大津法的圖像分塊二值化算法[J].微計算機信息,2005,21(8-3):76-77.

[5] Joseph E,Pavlidis T.Bar Code Waveform Recognition Using Peak Locations[J].IEEE Trans.PAMI,1994,16(6): 630-640.

[6] 王雅靜,竇震海.一種新的條碼圖像去噪方法[J].包裝工程, 2007,28(11):75-77.

A Research on Two-Dimension Barcode Recognition Technology Based on Image Processing

ZHAO Qun-li, ZHOU Qiu-ping

(Department of Com puter Science and Technology,Hef ei Normal University,Hef ei230061,China)

The paper introduces the actuality of barcode technologies development and the coding method of two-dimension barcode by describing the procedure of barcode recognition based on image processing.In the meanwhile,the paper puts forward the difficulties of barcode recognition technology,and solutions to solve those difficulties are also offered.In the last place,it gives the development trend of the barcode recognition technologies.

Barcode;Two-dimension barcode;Barcode recognition technology based on image processing

TP391.4

A

1674-2273(2010)06-0057-03

2010-07-10

合肥師范學院科研項目(2010kj06)

趙群禮(1974-),男,合肥師范學院計算機科學與技術系教師,研究領域為模式識別、數據挖掘等。

猜你喜歡
碼字條碼條形碼
熱線互動
創意條形碼
淺析影響商品條碼質量的主要因素
日雜商品條碼質量現狀研究
從條形碼到二維碼
從條形碼到二維碼
放 下
數據鏈系統中軟擴頻碼的優選及應用
放下
條形碼大變身
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合