《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 一種基于ADI低成本DSP實現(xiàn)的QR碼識別系統(tǒng)
一種基于ADI低成本DSP實現(xiàn)的QR碼識別系統(tǒng)
來源:電子技術(shù)應(yīng)用2013年第4期
余維克,黎福海
湖南大學(xué) 電氣與信息工程學(xué)院,湖南 長沙410082
摘要: 設(shè)計了一種可在ADI低成本DSP(小內(nèi)存平臺)上實現(xiàn)的QR碼識別系統(tǒng),并在以BF592為核心的硬件平臺上實現(xiàn)。系統(tǒng)基于圖像處理方法,在32 KB的數(shù)據(jù)空間內(nèi)實現(xiàn)了二值化壓縮并行的圖像采集時序、多個方向掃描對QR碼進(jìn)行定位、采樣解碼等功能。經(jīng)測試,該系統(tǒng)取得了良好的識別效果。
中圖分類號: TP368.2
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)04-0042-03
QR code decoding system based on ADI low-cost DSP
Yu Weike,Li Fuhai
College of Electrical and Information Engineering, Hunan University,Changsha 410082,China
Abstract: A QR code decoding system which can be implemented on ADI low-cost DSP is designed. The system is based on image processing and implemented on the hardware platform with center processor BF592. The whole system is running within 32 KB data memory, including image capturing and displaying, image storing and thresholding using paralleled timing, QR code detection with multi-direction scanning, sampling and decoding and so on. The experimental result shows the good performance of the system.
Key words : QR decode;image processing;small-memory;BF592

    近年來,隨著數(shù)字圖像處理技術(shù)的發(fā)展,二維碼技術(shù)獲得了廣泛應(yīng)用。QR(Quick Response)碼是常見二維碼中的一類,于1994年由日本DENSO WAVE公司發(fā)明,目前在火車票、門票、網(wǎng)站、廣告等多種信息傳播媒介中得到普及。與常見的條形碼相比,同等面積的QR碼具有更大的信息容量。

    QR碼識別設(shè)備一般為嵌入式設(shè)備,與個人電腦相比,嵌入式設(shè)備對成本和功耗等方面有較高的要求,因此其內(nèi)部存儲空間通常較小。本文針對這種情況,在以ADSP-BF592為核心處理器的硬件平臺上設(shè)計并實現(xiàn)了一種QR碼識別系統(tǒng)。該系統(tǒng)通過采集與二值化并行的方法采入二值圖像以提高內(nèi)存對圖像的容納力,識別過程中避免了常規(guī)圖像處理算法中大量的內(nèi)存分配,成功地在小內(nèi)存平臺上實現(xiàn)了QR碼識別功能。
1 系統(tǒng)硬件平臺
    系統(tǒng)以ADSP-BF592為核心處理單元,采用一個CMOS單板攝像頭拍攝QR碼圖像信息,在DSP內(nèi)部存儲空間運行QR碼識別算法,并將識別結(jié)果顯示在LCD屏上。系統(tǒng)硬件平臺框圖如圖1所示。

    ADSP-BF592是ADI公司Blackfin系列處理器產(chǎn)品系列中的一款DSP,低成本、低功耗的特點使其通常用于嵌入式產(chǎn)品中。BF592提供200 MHz和400 MHz內(nèi)核時鐘速度,具有豐富的外設(shè),包括2個SPORT口、1個PPI、2個SPI、4個通用計數(shù)器以及1個包含VDK RTOS和C運行庫的工廠編程指令ROM塊[1-2]。但是BF592的內(nèi)部僅有32 KB的代碼空間和32 KB數(shù)據(jù)空間,且沒有外部總線,這在一定程度上限制了其實現(xiàn)常見的圖像處理算法。
    CMOS攝像頭通過PPI和TWI接口與DSP連接,分別用于采集圖像和配置攝像頭;顯示拍攝到的灰度圖像的TFT屏通過SPORT接口與DSP連接;顯示QR碼識別結(jié)果的LCD屏通過SPI接口與DSP連接。

 


2 圖像采集與二值化
2.1 二值化

    QR碼存儲的信息均為二值信息,所以二值化是QR碼識別中必要的一步。本文采用最大類間方差法對圖像進(jìn)行全局二值化[3]。該方法是一種自適應(yīng)的閾值確定的方法,又叫大津法,簡稱OTSU。二值化即依據(jù)灰度特征將圖像分割為前景和背景兩類,OTSU法通過最大化前景與背景之間的方差選取最佳閾值。類間方差?滓b2(t)可表示為:

    為簡化描述,假設(shè)采集的二值圖像的寬和高均為448像素,具體時序可描述如下:
    (1)采集一幅158×158像素的低分辨率灰度圖像。利用OTSU法算出其閾值t*;
    (2)釋放低分辨率灰度圖像,分配大小為25 088 B的二值圖像內(nèi)存,并開辟兩塊臨時內(nèi)存A、B,大小均為448 B,分別用于臨時存儲灰度圖像中的一行;
    (3)將內(nèi)存A中的每個字節(jié)與閾值t*進(jìn)行比較,并將每8個像素拼成1 B存入二值圖像內(nèi)存。與此同時,用DMA方式將一行圖像的448個像素點存入內(nèi)存B;
    (4)與步驟(3)類似,將內(nèi)存A中的字節(jié)二值化壓縮存入二值圖像中,同時將一行圖像的448個像素點存入內(nèi)存B;
    (5)重復(fù)步驟(3)與步驟(4),直到圖像傳輸完畢;
    (6)釋放內(nèi)存A、B。
    基于以上方法,本文設(shè)計的系統(tǒng)可采集448×448像素的二值圖像,圖像分辨率顯著提高,降低了QR碼的識別難度。
3 QR碼的定位與識別
3.1 定位

    QR碼定位通常使用傳統(tǒng)的圖像處理方法,如邊沿檢測、Hough變換、離散余弦變換[4]等,然而這些方法都需要較大的內(nèi)存,無法適應(yīng)小內(nèi)存的場景。本文針對小內(nèi)存平臺,利用QR碼位置探測圖形(Finder Pattern)的比例關(guān)系對QR碼進(jìn)行搜索定位。QR碼的結(jié)構(gòu)如圖3所示,在QR碼有3個相同的位置探測圖形,分別位于其左上角、右上角和左下角。每個位置探測圖形可以看作3個重疊的同心正方形組成,它們分別為7×7個深色模塊、5×5個淺色模塊、3×3個深色模塊。

    位置探測圖形的特征如圖4所示,其模塊的寬度比為1:1:3:1:1,且此特征具有縮放和旋轉(zhuǎn)不變性。符號中其他地方遇到類似圖形的可能性極小,因此可以在視場中迅速識別可能的QR碼符號[5]。通過識別QR碼的3個位置探測圖形,可以明確地確定視場中QR碼的位置和方向。具體過程可描述為:
    (1)對圖像進(jìn)行多個方向的掃描,對于每個方向,都標(biāo)記出模塊寬度比接近1:1:3:1:1的位置;
    (2)尋找在每個方向上都有標(biāo)記的特征位置并求其交點。所求交點即可作為位置探測圖形的中心。
    該方法同樣可應(yīng)用于定位QR碼的校正圖形(Alignment Pattern)。

位置探測圖形定位結(jié)果,其他網(wǎng)格線為采樣網(wǎng)格。
    對于位置探測圖形受到嚴(yán)重污染的情況,由于內(nèi)存對于算法的限制,本文并沒有做相應(yīng)處理,可能造成識別失敗。這種情況可通過適當(dāng)增加系統(tǒng)內(nèi)存解決,如采用BF52x系列處理器[8-9]。
    本文主要針對小內(nèi)存平臺上的圖像處理情形,主要設(shè)計了圖像采集、QR碼定位算法。本文介紹的圖像采集方法也可運用在其他小內(nèi)存的圖像處理系統(tǒng)中。實驗結(jié)果表明,本算法占用內(nèi)存小,速度快,適應(yīng)性較強(qiáng),能適用于實際系統(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ī)的二維條碼定位識別算法的研究[D].合肥:合肥工業(yè)大學(xué),2007.
[5] 張民,鄭建立.基于符號特征的QR碼識別算法[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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。