文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)04-0042-03
近年來(lái),,隨著數(shù)字圖像處理技術(shù)的發(fā)展,,二維碼技術(shù)獲得了廣泛應(yīng)用。QR(Quick Response)碼是常見(jiàn)二維碼中的一類(lèi),,于1994年由日本DENSO WAVE公司發(fā)明,,目前在火車(chē)票、門(mén)票,、網(wǎng)站,、廣告等多種信息傳播媒介中得到普及。與常見(jiàn)的條形碼相比,,同等面積的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)通過(guò)采集與二值化并行的方法采入二值圖像以提高內(nèi)存對(duì)圖像的容納力,識(shí)別過(guò)程中避免了常規(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)行庫(kù)的工廠編程指令ROM塊[1-2]。但是BF592的內(nèi)部?jī)H有32 KB的代碼空間和32 KB數(shù)據(jù)空間,,且沒(méi)有外部總線,,這在一定程度上限制了其實(shí)現(xiàn)常見(jiàn)的圖像處理算法。
CMOS攝像頭通過(guò)PPI和TWI接口與DSP連接,,分別用于采集圖像和配置攝像頭,;顯示拍攝到的灰度圖像的TFT屏通過(guò)SPORT接口與DSP連接;顯示QR碼識(shí)別結(jié)果的LCD屏通過(guò)SPI接口與DSP連接,。
2 圖像采集與二值化
2.1 二值化
QR碼存儲(chǔ)的信息均為二值信息,,所以二值化是QR碼識(shí)別中必要的一步。本文采用最大類(lèi)間方差法對(duì)圖像進(jìn)行全局二值化[3],。該方法是一種自適應(yīng)的閾值確定的方法,,又叫大津法,簡(jiǎn)稱(chēng)OTSU,。二值化即依據(jù)灰度特征將圖像分割為前景和背景兩類(lèi),,OTSU法通過(guò)最大化前景與背景之間的方差選取最佳閾值。類(lèi)間方差?滓b2(t)可表示為:
為簡(jiǎn)化描述,,假設(shè)采集的二值圖像的寬和高均為448像素,,具體時(shí)序可描述如下:
(1)采集一幅158×158像素的低分辨率灰度圖像。利用OTSU法算出其閾值t*,;
(2)釋放低分辨率灰度圖像,,分配大小為25 088 B的二值圖像內(nèi)存,并開(kā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)類(lèi)似,將內(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)存,無(wú)法適應(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)中其他地方遇到類(lèi)似圖形的可能性極小,因此可以在視場(chǎng)中迅速識(shí)別可能的QR碼符號(hào)[5],。通過(guò)識(shí)別QR碼的3個(gè)位置探測(cè)圖形,,可以明確地確定視場(chǎng)中QR碼的位置和方向。具體過(guò)程可描述為:
(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ì)于算法的限制,本文并沒(méi)有做相應(yīng)處理,,可能造成識(shí)別失敗,。這種情況可通過(guò)適當(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] 國(guó)家質(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.