《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 业界动态 > 基于轮廓特征的快速响应码定位与提取方法

基于轮廓特征的快速响应码定位与提取方法

2009-07-13
作者:杜秀伟,章 兢,翟景瞳

  摘 要: 針對傳統(tǒng)方法對低分辨率無自動(dòng)對焦功能攝像頭拍攝的QR碼圖像進(jìn)行定位提取成功率低的缺點(diǎn),提出了一種新的QR碼定位與提取方法。該方法利用QR碼尋像圖形輪廓上的特征進(jìn)行條碼定位,然后利用直線最佳逼近法進(jìn)行邊界輪廓的尋找,找出四條邊界,最后利用平面坐標(biāo)變換法將條碼圖像旋轉(zhuǎn)至水平,形成標(biāo)準(zhǔn)QR碼圖像,從而完成QR碼圖像的提取。
  關(guān)鍵詞: 快速響應(yīng)碼;輪廓;提取

?

  二維條碼由于其在縱橫兩個(gè)方向上都有信息表示,所以其信息容量大、可靠性高、保密防偽性好。因此比一維條碼的應(yīng)用領(lǐng)域更廣[1-2]。QR碼作為二維條碼的一種,是日本Denso公司于1994年研制的矩陣式二維條碼[3],其全稱為快速響應(yīng)矩陣碼。它不僅具有其他二維條碼的優(yōu)點(diǎn),還具有360°全方位,超高速識(shí)讀等優(yōu)點(diǎn)。尤其是它用13 bit壓縮方式表示中國漢字,比其他二維條碼表示漢字的效率高20%,從而使QR碼成為非常適合在中國運(yùn)用的二維條碼。
  隨著QR碼的廣泛應(yīng)用,如何對QR碼進(jìn)行快速有效的提取和識(shí)別成為研究的熱點(diǎn)。本文針對當(dāng)前主要QR碼定位提取算法對邊界比較模糊、圖像定位提取成功率低的缺點(diǎn),提出了一種基于輪廓特征的QR碼定位提取算法,并詳細(xì)介紹了算法及QR碼定位提取的全過程。
1 QR碼符號(hào)結(jié)構(gòu)及圖像定位提取算法
1.1 QR碼符號(hào)結(jié)構(gòu)

  QR碼符號(hào)是由正方形模塊堆疊而成的正方形陣列碼,它由編碼區(qū)域及包括尋像圖形、分隔符、定位圖形和校正圖形在內(nèi)的功能圖形組成,如圖1所示。

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

?

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


  陰影部分為傾斜的尋像圖形的輪廓,a、b為平行四邊形的邊長和高。已知b ???

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

  (2)使直線向遠(yuǎn)離另一個(gè)點(diǎn)的方向移動(dòng),每次向外偏移2個(gè)像素,即在原來方程的基礎(chǔ)上加一個(gè)偏移量δ(δ=±2),然后求出各條直線掃描圖像所得的波形。根據(jù)各條掃描線所得波形進(jìn)行對比,進(jìn)行判斷。在到達(dá)邊界時(shí)反復(fù)來回掃描,并微調(diào)直線斜率,以得到最佳逼近直線。
  (3)在移動(dòng)過程中,由于一條直線始終無法得到最佳逼近效果而被拋棄,剩下2條直線。做過第三點(diǎn)且平行于前兩個(gè)點(diǎn)所決定直線的直線,向遠(yuǎn)離此直線的方向進(jìn)行掃描,以得到剩余兩條邊界直線。最終得到4條直線,圍成一個(gè)閉合的四邊形。得到四邊形4個(gè)頂點(diǎn)P1′,P2′,P3′,P4′。
2.4 圖像坐標(biāo)變換
  將尋像圖形進(jìn)行排序,對圖形進(jìn)行旋轉(zhuǎn),并依據(jù)雙線性內(nèi)插[3]公式(3)進(jìn)行平面坐標(biāo)變換,使圖形轉(zhuǎn)至水平。
  
  其中:S(x,y)為變換前圖像上的像素值,T(x,y)為變換后的像素點(diǎn)。公式中有8個(gè)未知系數(shù),可以通過變換前四個(gè)頂點(diǎn)P1′,P2′,P3′,P4′與變換后的正方形4個(gè)頂點(diǎn)P1,P2,P3,P4聯(lián)立求得。通過計(jì)算版本,再利用公式(3)將條碼圖像變成模塊像素為1x1的標(biāo)準(zhǔn)圖形。至此就可以依據(jù)標(biāo)準(zhǔn)的解碼算法,進(jìn)行數(shù)據(jù)解碼了。圖4(a)為待處理QR碼圖像,圖4(b)為經(jīng)過處理提取得到的QR碼圖像。


3 實(shí)驗(yàn)及結(jié)論
  為了驗(yàn)證本算法的有效性,用130萬像素的普通無自動(dòng)對焦功能的攝像頭,拍攝30張QR碼圖像。采用傳統(tǒng)算法進(jìn)行圖像提取時(shí),只有21張圖像可以檢測到尋像圖形,其中17張圖像可以尋找到邊界輪廓,并可以成功進(jìn)行有效的條碼圖像提?。欢捎帽疚慕榻B的條碼圖像提取算法,有27張圖片可以成功檢測到尋像圖形,其中27張均可以找到邊界輪廓并提取到有效條碼圖像,1張圖像變換后與原圖不相符。其成功率遠(yuǎn)遠(yuǎn)高于傳統(tǒng)的QR碼提取算法。


參考文獻(xiàn)
[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ù)與應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2006.
[4] 劉慧娟.快速響應(yīng)碼圖像的全方位識(shí)別[J].儀器儀表學(xué)報(bào),2006,27(4):376-379.
[5] 明安龍,馬華東,趙慶鵬.散焦模糊的畸變QR barcode圖像復(fù)原技術(shù)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)報(bào),2007,19(8):
1080-1084.
[6] 岡薩雷斯.數(shù)字圖像處理,第二版.北京:電子工業(yè)出版社,2006.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容