文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)04-0042-03
近年來,隨著數(shù)字圖像處理技術(shù)的發(fā)展,二維碼技術(shù)獲得了廣泛應(yīng)用。QR(Quick Response)碼是常見二維碼中的一類,于1994年由日本DENSO WAVE公司發(fā)明,目前在火車票、門票、網(wǎng)站、廣告等多種信息傳播媒介中得到普及。與常見的條形碼相比,同等面積的QR碼具有更大的信息容量。
QR碼識(shí)別設(shè)備一般為嵌入式設(shè)備,與個(gè)人電腦相比,嵌入式設(shè)備對(duì)成本和功耗等方面有較高的要求,因此其內(nèi)部存儲(chǔ)空間通常較小。本文針對(duì)這種情況,在以ADSP-BF592為核心處理器的硬件平臺(tái)上設(shè)計(jì)并實(shí)現(xiàn)了一種QR碼識(shí)別系統(tǒng)。該系統(tǒng)通過采集與二值化并行的方法采入二值圖像以提高內(nèi)存對(duì)圖像的容納力,識(shí)別過程中避免了常規(guī)圖像處理算法中大量的內(nèi)存分配,成功地在小內(nèi)存平臺(tái)上實(shí)現(xiàn)了QR碼識(shí)別功能。
1 系統(tǒng)硬件平臺(tái)
系統(tǒng)以ADSP-BF592為核心處理單元,采用一個(gè)CMOS單板攝像頭拍攝QR碼圖像信息,在DSP內(nèi)部存儲(chǔ)空間運(yùn)行QR碼識(shí)別算法,并將識(shí)別結(jié)果顯示在LCD屏上。系統(tǒng)硬件平臺(tái)框圖如圖1所示。
ADSP-BF592是ADI公司Blackfin系列處理器產(chǎn)品系列中的一款DSP,低成本、低功耗的特點(diǎn)使其通常用于嵌入式產(chǎn)品中。BF592提供200 MHz和400 MHz內(nèi)核時(shí)鐘速度,具有豐富的外設(shè),包括2個(gè)SPORT口、1個(gè)PPI、2個(gè)SPI、4個(gè)通用計(jì)數(shù)器以及1個(gè)包含VDK RTOS和C運(yùn)行庫的工廠編程指令ROM塊[1-2]。但是BF592的內(nèi)部?jī)H有32 KB的代碼空間和32 KB數(shù)據(jù)空間,且沒有外部總線,這在一定程度上限制了其實(shí)現(xiàn)常見的圖像處理算法。
CMOS攝像頭通過PPI和TWI接口與DSP連接,分別用于采集圖像和配置攝像頭;顯示拍攝到的灰度圖像的TFT屏通過SPORT接口與DSP連接;顯示QR碼識(shí)別結(jié)果的LCD屏通過SPI接口與DSP連接。
2 圖像采集與二值化
2.1 二值化
QR碼存儲(chǔ)的信息均為二值信息,所以二值化是QR碼識(shí)別中必要的一步。本文采用最大類間方差法對(duì)圖像進(jìn)行全局二值化[3]。該方法是一種自適應(yīng)的閾值確定的方法,又叫大津法,簡(jiǎn)稱OTSU。二值化即依據(jù)灰度特征將圖像分割為前景和背景兩類,OTSU法通過最大化前景與背景之間的方差選取最佳閾值。類間方差?滓b2(t)可表示為:
為簡(jiǎn)化描述,假設(shè)采集的二值圖像的寬和高均為448像素,具體時(shí)序可描述如下:
(1)采集一幅158×158像素的低分辨率灰度圖像。利用OTSU法算出其閾值t*;
(2)釋放低分辨率灰度圖像,分配大小為25 088 B的二值圖像內(nèi)存,并開辟兩塊臨時(shí)內(nèi)存A、B,大小均為448 B,分別用于臨時(shí)存儲(chǔ)灰度圖像中的一行;
(3)將內(nèi)存A中的每個(gè)字節(jié)與閾值t*進(jìn)行比較,并將每8個(gè)像素拼成1 B存入二值圖像內(nèi)存。與此同時(shí),用DMA方式將一行圖像的448個(gè)像素點(diǎn)存入內(nèi)存B;
(4)與步驟(3)類似,將內(nèi)存A中的字節(jié)二值化壓縮存入二值圖像中,同時(shí)將一行圖像的448個(gè)像素點(diǎn)存入內(nèi)存B;
(5)重復(fù)步驟(3)與步驟(4),直到圖像傳輸完畢;
(6)釋放內(nèi)存A、B。
基于以上方法,本文設(shè)計(jì)的系統(tǒng)可采集448×448像素的二值圖像,圖像分辨率顯著提高,降低了QR碼的識(shí)別難度。
3 QR碼的定位與識(shí)別
3.1 定位
QR碼定位通常使用傳統(tǒng)的圖像處理方法,如邊沿檢測(cè)、Hough變換、離散余弦變換[4]等,然而這些方法都需要較大的內(nèi)存,無法適應(yīng)小內(nèi)存的場(chǎng)景。本文針對(duì)小內(nèi)存平臺(tái),利用QR碼位置探測(cè)圖形(Finder Pattern)的比例關(guān)系對(duì)QR碼進(jìn)行搜索定位。QR碼的結(jié)構(gòu)如圖3所示,在QR碼有3個(gè)相同的位置探測(cè)圖形,分別位于其左上角、右上角和左下角。每個(gè)位置探測(cè)圖形可以看作3個(gè)重疊的同心正方形組成,它們分別為7×7個(gè)深色模塊、5×5個(gè)淺色模塊、3×3個(gè)深色模塊。
位置探測(cè)圖形的特征如圖4所示,其模塊的寬度比為1:1:3:1:1,且此特征具有縮放和旋轉(zhuǎn)不變性。符號(hào)中其他地方遇到類似圖形的可能性極小,因此可以在視場(chǎng)中迅速識(shí)別可能的QR碼符號(hào)[5]。通過識(shí)別QR碼的3個(gè)位置探測(cè)圖形,可以明確地確定視場(chǎng)中QR碼的位置和方向。具體過程可描述為:
(1)對(duì)圖像進(jìn)行多個(gè)方向的掃描,對(duì)于每個(gè)方向,都標(biāo)記出模塊寬度比接近1:1:3:1:1的位置;
(2)尋找在每個(gè)方向上都有標(biāo)記的特征位置并求其交點(diǎn)。所求交點(diǎn)即可作為位置探測(cè)圖形的中心。
該方法同樣可應(yīng)用于定位QR碼的校正圖形(Alignment Pattern)。
位置探測(cè)圖形定位結(jié)果,其他網(wǎng)格線為采樣網(wǎng)格。
對(duì)于位置探測(cè)圖形受到嚴(yán)重污染的情況,由于內(nèi)存對(duì)于算法的限制,本文并沒有做相應(yīng)處理,可能造成識(shí)別失敗。這種情況可通過適當(dāng)增加系統(tǒng)內(nèi)存解決,如采用BF52x系列處理器[8-9]。
本文主要針對(duì)小內(nèi)存平臺(tái)上的圖像處理情形,主要設(shè)計(jì)了圖像采集、QR碼定位算法。本文介紹的圖像采集方法也可運(yùn)用在其他小內(nèi)存的圖像處理系統(tǒng)中。實(shí)驗(yàn)結(jié)果表明,本算法占用內(nèi)存小,速度快,適應(yīng)性較強(qiáng),能適用于實(shí)際系統(tǒng)。
參考文獻(xiàn)
[1] ADSP-BF59x blackfin processor hardware reference(Revision 1.0)[Z].Analog Devices Inc,2011.
[2] ADSP-BF592 blackfin embedded processor data sheet(Rev A)[Z].Analog Devices Inc,2011.
[3] OTSU N.A threshold selecti on method from gray-level histograms[J].IEEE Trans.on Systems Man and Cybernetics,1979,9(1):62-66.
[4] 李璐.面向手機(jī)的二維條碼定位識(shí)別算法的研究[D].合肥:合肥工業(yè)大學(xué),2007.
[5] 張民,鄭建立.基于符號(hào)特征的QR碼識(shí)別算法[J].計(jì)算機(jī)工程,2011,37(4):278-280.
[6] FALAS T,HOSSEIN K.Two-dimensional bar-code decoding with camera-equipped mobile phones[C].Fifth Annual IEEE International Conference,White Plains,NY,2007.
[7] 國家質(zhì)量技術(shù)監(jiān)督局.GB/T18284-2000快速響應(yīng)矩陣碼[S].2000.
[8] ADSP-BF52x blackfin processor hardware reference(Revision 1.0)[Z].Analog Devices Inc,2010.
[9] ADSP-BF522/ADSP-BF523/ADSP-BF524/ADSP-BF525/ADSP-BF526/ADSP-BF527 blackfin embedded processor data sheet(Rev C)[Z].Analog Devices Inc,2012.