文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)07-0012-02
近年來,物聯(lián)網(wǎng)技術(shù)高速發(fā)展,,已成為各國的發(fā)展戰(zhàn)略,,受到高度重視。在物聯(lián)網(wǎng)的應(yīng)用和實(shí)現(xiàn)過程中,,條碼技術(shù)(可分為一維條碼和二維條碼)是信息識(shí)別領(lǐng)域最為重要和關(guān)鍵的技術(shù)之一,。如今二維條碼技術(shù)已經(jīng)在物流、通信和工業(yè)領(lǐng)域中得到了廣泛應(yīng)用[1],。
因圖像采集環(huán)境復(fù)雜多變,,采集到的二維碼必須進(jìn)行圖像處理才能達(dá)到理想的識(shí)別率。二維碼圖像預(yù)處理包括灰度化,、濾波去噪,、二值化、圖像旋轉(zhuǎn)和圖像去光照等步驟,。由于通過攝像頭采集到的圖像或多或少都會(huì)有一定的歪斜,,所以將圖像旋轉(zhuǎn)端正對(duì)二維碼圖像識(shí)別來說是必不可少的[2-3]。
本文基于CORDIC算法,設(shè)計(jì)了一種高速流水線的圖像旋轉(zhuǎn)算法,。算法只包含加法和移位操作,,在FPGA上的驗(yàn)證結(jié)果表明,本設(shè)計(jì)的電路精度高,,速度快,,可以適用于實(shí)時(shí)二維碼圖像識(shí)別。
1 二維碼圖像采集和顯示
在本系統(tǒng)中,,圖像采集采用OV7620攝像頭,。OV7620是一種CMOS圖像傳感器,具有軟件可編程性,,可以通過SCCB總線協(xié)議進(jìn)行其工作模式的配置,,被廣泛應(yīng)用在網(wǎng)絡(luò)攝像頭、攝像手機(jī)等產(chǎn)品中,。首先基于SCCB協(xié)議的寄存器配置電路對(duì)OV7620進(jìn)行初始化,,然后設(shè)計(jì)了攝像頭圖像采集程序,通過SRAM控制器將采集到的圖像存入SRAM中,,并在LCD上實(shí)時(shí)顯示出來,。攝像頭采集與顯示框圖如圖1所示。
2 圖像旋轉(zhuǎn)角度的獲取
由于受采集環(huán)境,、攝像頭和圖像采集者等多種因素的影響,,采集到的二維碼圖像一般都會(huì)有一定的歪斜。要將二維碼圖像旋轉(zhuǎn)端正,,首先需要知道二維碼圖像歪斜的角度,。QR碼圖像在左上角、左下角和右上角各有一個(gè)位置探測圖形,,每個(gè)位置探測圖形可以看作是由3個(gè)重疊且同心的正方形組成,,它們分別為7×7個(gè)深色模塊、5×5個(gè)淺色模塊和3×3個(gè)深色模塊,。如圖2所示,,位置探測圖形的模塊寬度比為1:1:3:1:1。符號(hào)中其他地方遇到類似圖形的可能性極小,,因此可以通過掃描整個(gè)二維碼圖像找出3個(gè)位置探測圖形,,根據(jù)3個(gè)位置探測圖形的相對(duì)位置判斷出圖像的歪斜角度。
式(3)為CORDIC算法的基本旋轉(zhuǎn)公式,??梢钥闯觯珻ORDIC算法是由一系列簡單的移位和加法操作組成的,。它實(shí)際上是一種逐次逼近的坐標(biāo)旋轉(zhuǎn)方法,,每次旋轉(zhuǎn)都使累加的旋轉(zhuǎn)角度之和與目標(biāo)旋轉(zhuǎn)角更接近,。迭代次數(shù)n越大,旋轉(zhuǎn)的角度就與真實(shí)的角度越接近,。在實(shí)際應(yīng)用中,,受硬件資源限制,不可能迭代很多次,。實(shí)際上,,對(duì)于n次迭代,CORDIC算法的旋轉(zhuǎn)精度為arctan2-(n-1),。當(dāng)n=8時(shí),,旋轉(zhuǎn)精度可達(dá)0.447 6°,滿足實(shí)際應(yīng)用的需要[4],。
由于計(jì)算過程中包含小數(shù),,所以在硬件結(jié)構(gòu)中將原始數(shù)據(jù)左移8位進(jìn)行擴(kuò)張,在CORDIC單元最后將計(jì)算得到的數(shù)據(jù)的低8位提取出來作為小數(shù)部分即可,。
5 實(shí)驗(yàn)結(jié)果分析
本實(shí)驗(yàn)中設(shè)計(jì)了攝像頭采集程序以及液晶驅(qū)動(dòng)程序,。可以通過攝像頭實(shí)時(shí)采集圖像,;將采集到的圖像通過灰度化,、中值濾波和二值化處理后,存入SRAM中,;隨后電路開始讀取SRAM中的圖像并求出歪斜角度,通過圖像旋轉(zhuǎn)電路將圖像旋轉(zhuǎn)端正,。整個(gè)設(shè)計(jì)全部采用Verilog HDL語言編寫,。采用Synplify Pro、Quartus II 9.1和Modelsim 6.5SE仿真和實(shí)現(xiàn)了整個(gè)設(shè)計(jì),,并在DE2開發(fā)板上對(duì)本設(shè)計(jì)進(jìn)行了驗(yàn)證,。
通過實(shí)驗(yàn)結(jié)果可知,電路最大工作頻率可以達(dá)到90.9 MHz,;整個(gè)系統(tǒng)消耗了1 289個(gè)組合邏輯單元和483個(gè)寄存器單元,;求得一個(gè)旋轉(zhuǎn)過后的像素值需要6個(gè)時(shí)鐘周期,因此本二維碼圖像旋轉(zhuǎn)系統(tǒng)處理640×480像素的圖像的幀率為49 f/s,,該速度完全可以滿足實(shí)際要求,。上述驗(yàn)證結(jié)果表明,本設(shè)計(jì)的二維碼圖像旋轉(zhuǎn)系統(tǒng)具有速度快,、復(fù)雜度低的特點(diǎn),。
參考文獻(xiàn)
[1] GHOSH I,MAJUMDAR B.Design of an application specificVLSI chip for image rotation[C].Calcutta:Proceedings of the Seventh International Conference on VLSI Design,,
1994:275-278.
[2] SUCHITRA S,,LAM S K,,SRIKANTHAN T.Novel schemes for high-throughput image rotation[C].Singapore:Conference Record of the Thirty-Eighth Asilomar Conference on Signals, Systems and Computers,2004,,2:1884-1888.
[3] Jiang Xiaogang,,Zhou Jianyang,Shi Jianghong,,et al.FPGA implementation of image rotation using modified compensated CORDIC[C].6th International Conference on ASIC,,2005:752-756.
[4] 李杰明,鄭學(xué)仁.基于CORDIC算法的數(shù)字圖像旋轉(zhuǎn)實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,,2009,,35(6):72-74.