摘 要: 針對傳統(tǒng)方法對低分辨率無自動對焦功能攝像頭拍攝的QR碼圖像進行定位提取成功率低的缺點,提出了一種新的QR碼定位與提取方法。該方法利用QR碼尋像圖形輪廓上的特征進行條碼定位,然后利用直線最佳逼近法進行邊界輪廓的尋找,找出四條邊界,最后利用平面坐標變換法將條碼圖像旋轉(zhuǎn)至水平,形成標準QR碼圖像,從而完成QR碼圖像的提取。
關(guān)鍵詞: 快速響應碼;輪廓;提取
?
二維條碼由于其在縱橫兩個方向上都有信息表示,所以其信息容量大、可靠性高、保密防偽性好。因此比一維條碼的應用領(lǐng)域更廣[1-2]。QR碼作為二維條碼的一種,是日本Denso公司于1994年研制的矩陣式二維條碼[3],其全稱為快速響應矩陣碼。它不僅具有其他二維條碼的優(yōu)點,還具有360°全方位,超高速識讀等優(yōu)點。尤其是它用13 bit壓縮方式表示中國漢字,比其他二維條碼表示漢字的效率高20%,從而使QR碼成為非常適合在中國運用的二維條碼。
隨著QR碼的廣泛應用,如何對QR碼進行快速有效的提取和識別成為研究的熱點。本文針對當前主要QR碼定位提取算法對邊界比較模糊、圖像定位提取成功率低的缺點,提出了一種基于輪廓特征的QR碼定位提取算法,并詳細介紹了算法及QR碼定位提取的全過程。
1 QR碼符號結(jié)構(gòu)及圖像定位提取算法
1.1 QR碼符號結(jié)構(gòu)
QR碼符號是由正方形模塊堆疊而成的正方形陣列碼,它由編碼區(qū)域及包括尋像圖形、分隔符、定位圖形和校正圖形在內(nèi)的功能圖形組成,如圖1所示。

QR碼符號共有40個版本。版本1的規(guī)格為21模塊×21模塊,以后每個版本比前一個版本每邊多4個模塊。根據(jù)糾錯等級的不同,QR碼各版本所能存儲的輸入容量也不相同,最多可以存儲1 817個漢字,或2 953個ASCII碼[1]。
1.2 QR碼圖像定位及提取算法
對于QR碼的提取與識別,目前所采用的方法一般是利用直線按行掃描整個圖像,根據(jù)掃描波形進行匹配,然后利用Hough變換尋找圖像的邊界,找到邊界后確定條碼圖像的4個頂點,利用平面坐標變換將圖像旋轉(zhuǎn)到水平,最后利用標準的RS糾錯算法對圖像數(shù)據(jù)進行糾錯解碼[4]。該方法對于標準條碼圖像或者變形極其輕微的圖像識別成功率比較高。但是由于無自動對焦圖像獲取設(shè)備獲取到的圖像邊界特別模糊,尋像圖形深淺模塊比例也嚴重失調(diào),采用以上方法無法提取到條碼圖像,從而無法進行識別[5]。針對以上這種情況,本文提出一種基于輪廓特征的QR碼圖像定位與提取方法。
2 基于輪廓特征的QR碼定位與提取
本方法根據(jù)QR碼輪廓上的特性,對圖像特征進行定性分析來定位尋像圖形;然后采用直線的最佳逼近方法尋找條碼邊界,通過平面坐標變換將條碼圖像變換到水平,而得到標準的QR碼圖像;最后用標準RS糾錯算法對條碼數(shù)據(jù)進行糾錯并解碼得到圖像中的信息。本文研究的重點為條碼圖像的提取,圖2為條碼提取的程序流程。
?

2.1 圖像預處理
圖像預處理是圖像識別的關(guān)鍵步驟之一,因為攝像頭獲取圖像時存在固有的質(zhì)量問題,會引入不同程度的椒鹽噪聲或者毛刺噪聲,條碼在使用過程中可能會被污染等。圖像預處理分為圖像色彩空間變換、中值濾波與圖像二值化3個步驟。圖像色彩空間變換將彩色圖像變換成256色的灰度圖像,去除了部分冗余信息,減少圖像濾波的運算量。中值濾波是圖像識別中最有效的濾波算法,被處理的圖像中每個像素經(jīng)過濾波以后其像素值等于這個像素點及其周圍臨域各個像素點的中值[6]。該算法的優(yōu)勢在于它既可以濾除椒鹽噪聲,同時還可以有效地保留圖像的邊緣特征,有利于圖像識別。圖像二值化將灰度圖像變換成為二值圖像,因為條碼本身為深淺模塊堆疊而成,所以最后要將圖像變換成二值圖像才便于處理。
2.2 基于輪廓特征的QR碼定位
QR Code在感觀上很容易定位,因為其4個角上有3個回字形的尋像圖案。按照編碼規(guī)則,該回字形圖案的比例為:深色-淺色-深色-淺色-深色,比值為1:1:3:1:1,肉眼很難判斷這個比例,但其輪廓特征卻很明顯。在圖像獲取設(shè)備獲取的圖像中,由于邊緣模糊,很難得到標準條碼那樣的比例,所以依據(jù)一維特征模板匹配[4]的方法進行尋像圖像定位,成功率不高。在此提出一種基于輪廓特征的尋像圖形定位方法。
2.2.1 尋像圖形定位方法
根據(jù)尋像圖形特點,其輪廓面積SContour與外接矩形面積SBoundrect之比等于1。圖3為條碼圖像發(fā)生傾斜時圖像輪廓示意圖。

陰影部分為傾斜的尋像圖形的輪廓,a、b為平行四邊形的邊長和高。已知b ??? 
當條碼傾斜角度在0°~10°之間變化時,Ratio的值在0.85和1之間變化,而其他任何一個輪廓都不是規(guī)則的,一般會遠小于這個值。
尋像圖形的另外一個特征就是輪廓內(nèi)部還包含一個深色的輪廓。在上一步搜索成功以后需要判斷輪廓內(nèi)部是否包含一個深色的輪廓。如果有,則說明搜索成功。
在具體編程時,為了提高提高運算速度和識別率,可以適當做一些限制:
? #define?MIN_AREA(7*7)
//尋像圖形輪廓的最小面積
#define?MIN_AREA_RATIO?0.65
//輪廓與外接矩形的面積比的最小值
2.2.2 具體尋像步驟
(1)在圖像中搜尋所有閉合輪廓,并存于鏈表中。
(2)計算各輪廓面積和外接矩形面積之比,抽取輪廓面積大于MIN_AREA,且比值大于等于MIN_AREA_RATIO的輪廓,并存于新的鏈表中。
(3)在新的存儲輪廓的鏈表中繼續(xù)搜索內(nèi)部包含閉合輪廓的圖形,并記錄各個圖形的頂點。
(4)統(tǒng)計符合上述要求的輪廓數(shù)量。如果恰巧等于3,則搜索成功,返回3個閉合輪廓的頂點坐標;否則失敗。
2.3 尋找條碼邊界輪廓
尋像圖形找到以后就知道條碼的位置了,但是要想獲得條碼數(shù)據(jù),還要確定條碼的外圍輪廓。本文采用直線最佳逼近法得到條碼的輪廓。由于QR Code是典型的矩陣型條碼,標準QR Code輪廓是一個標準的正方形,當拍攝圖像發(fā)生變形時,輪廓可能會變成一個普通的四邊形??梢愿鶕?jù)其邊界特點來尋找其輪廓。多數(shù)論文中采用Hough變換來提取直線,但是尋像圖形找到后已經(jīng)大約可以知道邊界線的斜率和大致位置,采用Hough變換,無論是應用于整幅圖像還是隔行應用,都比較浪費CPU資源。可以采用直線的最佳逼近法來尋找條碼的輪廓,其算法如下:
(1)求取3個尋像圖形的中心坐標。用3個坐標任意兩個點做1條直線,一共做3條直線。設(shè)3個坐標點的坐標分別為(x0,y0),(x1,y1),(x2,y2),3條直線的方程如下所示:

(2)使直線向遠離另一個點的方向移動,每次向外偏移2個像素,即在原來方程的基礎(chǔ)上加一個偏移量δ(δ=±2),然后求出各條直線掃描圖像所得的波形。根據(jù)各條掃描線所得波形進行對比,進行判斷。在到達邊界時反復來回掃描,并微調(diào)直線斜率,以得到最佳逼近直線。
(3)在移動過程中,由于一條直線始終無法得到最佳逼近效果而被拋棄,剩下2條直線。做過第三點且平行于前兩個點所決定直線的直線,向遠離此直線的方向進行掃描,以得到剩余兩條邊界直線。最終得到4條直線,圍成一個閉合的四邊形。得到四邊形4個頂點P1′,P2′,P3′,P4′。
2.4 圖像坐標變換
將尋像圖形進行排序,對圖形進行旋轉(zhuǎn),并依據(jù)雙線性內(nèi)插[3]公式(3)進行平面坐標變換,使圖形轉(zhuǎn)至水平。

其中:S(x,y)為變換前圖像上的像素值,T(x,y)為變換后的像素點。公式中有8個未知系數(shù),可以通過變換前四個頂點P1′,P2′,P3′,P4′與變換后的正方形4個頂點P1,P2,P3,P4聯(lián)立求得。通過計算版本,再利用公式(3)將條碼圖像變成模塊像素為1x1的標準圖形。至此就可以依據(jù)標準的解碼算法,進行數(shù)據(jù)解碼了。圖4(a)為待處理QR碼圖像,圖4(b)為經(jīng)過處理提取得到的QR碼圖像。

3 實驗及結(jié)論
為了驗證本算法的有效性,用130萬像素的普通無自動對焦功能的攝像頭,拍攝30張QR碼圖像。采用傳統(tǒng)算法進行圖像提取時,只有21張圖像可以檢測到尋像圖形,其中17張圖像可以尋找到邊界輪廓,并可以成功進行有效的條碼圖像提?。欢捎帽疚慕榻B的條碼圖像提取算法,有27張圖片可以成功檢測到尋像圖形,其中27張均可以找到邊界輪廓并提取到有效條碼圖像,1張圖像變換后與原圖不相符。其成功率遠遠高于傳統(tǒng)的QR碼提取算法。
參考文獻
[1] AMPER R I,GARNER D,JORDAN G,et al.A barcodescanner aid for visually-impaired people.18th annual international conference of the IEEE engineering in medicine and biology society[C],IEEE,1996.
[2] ISO/IEC 18004:2006.Information technology-automatic?identification and data capture techniques-QR Code 2005?bar code symbology specification[S].2006.
[3] 陳丹暉,劉紅編.條碼技術(shù)與應用[M].北京:化學工業(yè)出版社,2006.
[4] 劉慧娟.快速響應碼圖像的全方位識別[J].儀器儀表學報,2006,27(4):376-379.
[5] 明安龍,馬華東,趙慶鵬.散焦模糊的畸變QR barcode圖像復原技術(shù)[J].計算機輔助設(shè)計與圖形學報,2007,19(8):
1080-1084.
[6] 岡薩雷斯.數(shù)字圖像處理,第二版.北京:電子工業(yè)出版社,2006.
