• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于DM642的手機(jī)QR碼檢測(cè)與識(shí)別①

      2018-06-14 08:49:16陳存弟劉金清施文灶鄧淑敏周曉童吳慶祥
      關(guān)鍵詞:角點(diǎn)解碼輪廓

      陳存弟,劉金清,施文灶,鄧淑敏,周曉童,吳慶祥

      (福建師范大學(xué) 光電與信息工程學(xué)院 醫(yī)學(xué)光電科學(xué)與技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,福州 350007)

      條碼掃描槍是一種嵌入式平臺(tái)二維碼識(shí)別系統(tǒng)[1]產(chǎn)品,整體主要由攝像頭與MCU組成,軟件主要依靠圖像處理技術(shù)與QR碼解碼標(biāo)準(zhǔn)來實(shí)現(xiàn).QR碼解碼的解碼標(biāo)準(zhǔn)已經(jīng)固定不變,而由于攝像頭獲取的QR碼圖片,其周圍環(huán)境復(fù)雜多變,還受電子元器件的影響導(dǎo)致圖片中含有椒鹽噪聲,且傾斜角度與畸變程度的不確定性給2D條碼的識(shí)別帶來極大的挑戰(zhàn)性,因此圖像處理的運(yùn)用是解決該問題的關(guān)鍵技術(shù),同時(shí)這些關(guān)鍵技術(shù)是國(guó)內(nèi)外學(xué)者研究的熱點(diǎn).

      1 QR碼的簡(jiǎn)介

      QR(Quick Response)碼是由日本的Denso-Wave公司發(fā)明,能存儲(chǔ)的信息容量大,編碼生成的輸出碼面積小,能全方位識(shí)讀且識(shí)讀速度高,可表示圖像及多種文字信息,如中國(guó)漢字和日本漢字.QR碼的結(jié)構(gòu)如圖1所示,主要由功能圖形和編碼區(qū)組成.其中功能圖形主要用于QR碼的定位,而編碼區(qū)主要用于存儲(chǔ)編碼數(shù)據(jù)和糾錯(cuò)信息.位置探測(cè)圖形由黑白黑三個(gè)矩形組成,橫豎方向黑白間隔比例為 1:1:3:1:1,通常利用這個(gè)比例關(guān)系來定位QR碼[2,3];定位圖形由黑白交替的小模塊組成,始于深色模塊且終于深色模塊,通常用于QR碼的采樣;校正圖形由三個(gè)黑白矩形鑲嵌組成,類似于位置探測(cè)圖形,但橫豎黑白間隔比例為1,通常用于QR碼的定位與采樣;編碼區(qū)格式信息主要由格式信息、版本信息、數(shù)據(jù)和糾錯(cuò)碼字組成,在解碼前首先要獲取格式信息和版本信息來確定QR碼中存儲(chǔ)的數(shù)據(jù)類型和糾錯(cuò)級(jí)別及其采用的掩膜圖形,格式信息與版本信息均出現(xiàn)兩次,因?yàn)檫@兩塊信息的正確獲取是決定著解碼正確的關(guān)鍵因素.QR碼編碼過程如圖2所示.

      圖1 QR碼結(jié)構(gòu)圖

      QR碼的解碼過程即是編碼流程的反向過程,由于解碼過程中首先要獲取格式信息和版本信息,而這兩個(gè)信息又是基于QR采樣得到的比特流來運(yùn)算得到,故引入圖像處理技術(shù).

      圖2 QR碼的編碼流程圖

      2 QR碼定位

      2.1 基于位置探測(cè)圖形定位QR碼

      傳統(tǒng)的定位方法通常是基于位置探測(cè)圖形的1:1:3:1:1 關(guān)系來定位 QR 碼,如圖 3(a)所示,這是基于位置探測(cè)圖形的比例關(guān)系定位完全正確的結(jié)果,該圖形只是稍微傾斜且透視效果不明顯,所以定位結(jié)果較好,而圖3(b),(c)均無法定位,圖3(b)在水平方向上定位良好,但由于垂直方向受攝像頭成像的原因,由原先的3D立體圖形經(jīng)投影投射成2D平面圖像上,之間在投射的過程由于攝像頭與QR圖片有傾斜角而產(chǎn)生了透視效果,所以在圖像平面上的二維碼呈現(xiàn)梯形,與攝像頭距離大的兩個(gè)位置探測(cè)圖形上下行之間距離被慢慢壓縮得很小,所以導(dǎo)致垂直方向的比例關(guān)系沒能定位到位置探測(cè)圖形.圖3(c)中的QR碼傾斜趨近于45度且由于透視的原因?qū)е露ㄎ皇?

      圖 3 定位結(jié)果 (上:灰度圖,下:定位圖)

      2.2 基于輪廓提取的方法定位QR碼

      觀察位置探測(cè)圖形,可以發(fā)現(xiàn)是由3個(gè)鑲嵌的并且寬度為一定比例的矩形組成,3個(gè)矩形邊寬由外向內(nèi)的比例關(guān)系為7:5:3;對(duì)QR碼二值圖取反后可以發(fā)現(xiàn)位置探測(cè)圖形最外矩形框和最內(nèi)的矩形框?yàn)樯钌?本文的定位算法正是根據(jù)這兩個(gè)深色塊的輪廓關(guān)系和輪廓之間的面積比例為49:9關(guān)系來達(dá)到準(zhǔn)確定位.

      2.2.1 圖像預(yù)處理

      圖像傳感器獲取的圖片經(jīng)常帶有椒鹽噪聲,而中值濾波是濾除該噪聲的關(guān)鍵技術(shù).本文的輪廓提取是基于二值圖來獲取,故需對(duì)灰度圖二值化處理.由于QR碼的拍攝環(huán)境復(fù)雜多變且易受光照影響,使用單一的閾值難以達(dá)到良好的分割效果,觀察整個(gè)QR碼可以發(fā)現(xiàn)其整體是由淺色模塊和深色模塊組成,所以采用局部閾值代替全局閾值二值化能達(dá)到預(yù)期的效果.盡管文獻(xiàn)[4]應(yīng)用改進(jìn)的Niblack局部二值化算法能消除光照不均的圖片并獲得較好的結(jié)果,但具有局限性強(qiáng),步驟復(fù)雜和分類不精確等缺點(diǎn).本文同樣是采用局部二值化的思想分割圖像,首先對(duì)整幅圖像分成多個(gè)小矩形,然后在每個(gè)小矩形中使用Otsu算法求出相應(yīng)的閾值來分割圖像.對(duì)分割后的圖像取反處理,并進(jìn)入輪廓提取步驟.

      2.2.2 輪廓提取

      目前輪廓提取[5,6]的方法有基于連通域的方法,基于形態(tài)學(xué)的開閉運(yùn)算方法,也有基于Snake的主動(dòng)輪廓線模型(Active Contour Model).本文輪廓提取有外輪廓和內(nèi)輪廓的區(qū)分,并且將其組織成兩層的層級(jí),內(nèi)輪廓也稱為次輪廓.頂層是連通域區(qū)域的外圍邊界,而次輪廓是洞的內(nèi)層邊界.在QR碼定位過程中,首先尋找具有兩層輪廓關(guān)系的連通域C1,計(jì)算C1的最小矩形左上角坐標(biāo)Ptl1和右下角坐標(biāo)Pbr1.再在這個(gè)連通域內(nèi)尋找只有頂層而沒有次層的連通域C2,計(jì)算C2的最小矩形左上角坐標(biāo)Ptl2和右下角坐標(biāo)Pbr2,且滿足公式(1),則初步確定C1和C2兩塊區(qū)域組合成的鑲嵌區(qū)域?yàn)槲恢锰綔y(cè)圖形,接著統(tǒng)計(jì)C1和C2兩個(gè)輪廓區(qū)域內(nèi)含有的坐標(biāo)點(diǎn)數(shù)作為面積A1和A2,且滿足公式(2),則精確確定為位置探測(cè)圖形.

      定位結(jié)果如圖4所示,圖4(a)表示原圖;圖4(b)是中值濾波后的結(jié)果,原圖中的椒鹽噪聲,即是散布在圖像表面的黑點(diǎn).已經(jīng)消除干凈;圖4(c)是局部二值化后取反的結(jié)果,可以看出三個(gè)位置探測(cè)圖形的黑白矩形與原來圖形恰好相反,基于二值化取反后的圖像獲取內(nèi)外兩個(gè)矩形輪廓的嵌套關(guān)系,再根據(jù)兩個(gè)輪廓的面積比例關(guān)系定位QR碼,得到圖4(d)的結(jié)果.

      圖4 QR碼定位結(jié)果

      3 QR碼校正

      3.1 逼近QR碼邊界

      QR碼校正是正確采樣的關(guān)鍵步驟.本文獲取的QR碼的圖片來自于掃碼設(shè)備拍攝手機(jī)上的QR碼,故得到的圖片不存在扭曲的情況,而主要問題是圖片產(chǎn)生傾斜與透視效果,解決這兩個(gè)問題需要準(zhǔn)確獲取QR碼的4個(gè)角點(diǎn),通過逆透視算法和傾斜校正算法來校正二維碼.通常校正二維碼的方法主要基于形態(tài)學(xué)和Hough變換[7]的的方法,但是形態(tài)學(xué)與Hough變換方法需要運(yùn)行時(shí)間過長(zhǎng)且不好定性控制,也不利于嵌入式平臺(tái)上的應(yīng)用.本文尋找QR碼的4個(gè)角點(diǎn)的方法是采用直線逼近四條邊的方法,通過計(jì)算四條邊的斜截式聯(lián)立成方程組來求取4個(gè)角點(diǎn).

      QR碼的3個(gè)位置探測(cè)圖形定位正確后,根據(jù)公式(3)分別計(jì)算3個(gè)位置探測(cè)圖形的中心坐標(biāo).通過歐拉公式計(jì)算每?jī)蓚€(gè)中心坐標(biāo)的距離,并找出距離之差的絕對(duì)值最小的兩條線所相交的中心確定為QR碼左上角位置探測(cè)圖形,設(shè)該圖形的中心坐標(biāo)為交叉點(diǎn)I1,剩下的兩個(gè)中心點(diǎn)I2和I3分別是左下角和右上角位置探測(cè)圖形的的中心坐標(biāo),根據(jù)公式(4)計(jì)算I2與I1,I3與I1的斜截式.

      因?yàn)镼R碼在拍攝時(shí)可能產(chǎn)生360度旋轉(zhuǎn)角,所以原來標(biāo)準(zhǔn)正向QR碼的3個(gè)位置探測(cè)圖形被不定向的旋轉(zhuǎn),本文規(guī)定中心坐標(biāo)為的位置探測(cè)圖形與I1的位置探測(cè)圖形為同一豎向關(guān)系,規(guī)定中心坐標(biāo)為I3的位置探測(cè)圖形與的位置探測(cè)圖形為同一橫向關(guān)系.如圖5(a)所示,可以用斜截式表示的直線來區(qū)分這個(gè)關(guān)系,若斜率L12.k<0,則說明I1與I2是同一豎向關(guān)系,若斜率L13.k≥0,則說明I1與I3屬于橫向關(guān)系,然后對(duì)L12平移到I3點(diǎn)并求出經(jīng)過I3的斜截式L3(k,b),對(duì)L13平移到I2點(diǎn)并求出經(jīng)過I2的斜截式L2(k,b).如圖5(a)所示,根據(jù)公式(5),(6)計(jì)算二值化圖像Fbw的水平差分圖Fh和垂直差分圖Fv.依據(jù)L13向左和向右遍歷Fh找到位置探測(cè)圖形I1和I3的最外部輪廓的左右點(diǎn),分別用P1l,P1r,P3l,P3r表示遍歷到的端點(diǎn)坐標(biāo);再依據(jù)L2遍歷Fh找到位置探測(cè)圖形I2的左右端點(diǎn)P21和P2r,同樣的依據(jù)L12和L3遍歷Fv位置探測(cè)圖形I1,I2和I3的上下端點(diǎn),分別用P1u,P1d,P2u,P2d,P3u和P3d表示.如圖5(b)所示,接著用具有豎直關(guān)系的左端點(diǎn)求取經(jīng)過左端點(diǎn)和右端點(diǎn)的直線,同樣的具有橫向關(guān)系的端點(diǎn)求取經(jīng)過上端點(diǎn)和下端點(diǎn)的直線.至此,QR碼的兩條邊界已經(jīng)得到.

      圖5 位置探測(cè)圖形邊界端點(diǎn)連接圖

      上面的步驟處理完畢后,只要再找到QR碼其余的兩條邊,便可以求解出四條邊的相交點(diǎn)作為QR碼的第四個(gè)角點(diǎn).而QR碼只有3個(gè)位置探測(cè)圖形,所以無法再根據(jù)位置探測(cè)圖形找到另外的兩條邊界線,本文采用直線逼近的方法來找到其余兩條邊界,基本思想是QR碼在編碼生成過程中,其周圍會(huì)多出淺色的空白區(qū),在二值化且取反后的圖像中呈現(xiàn)黑色,而QR碼二值化取反后凸顯的白色塊與黑色空白區(qū)有明顯的邊界,正是依據(jù)這個(gè)明顯的邊界,不斷調(diào)整斜截式直線來逼近邊界.具體過程如下,以圖6所示的QR碼為例,說明逼近過程,在代碼實(shí)現(xiàn)過程中還應(yīng)考慮不同角度拍攝下的QR碼來做出相應(yīng)的處理:

      (1) 首先求得經(jīng)過位置探測(cè)圖形的QR碼對(duì)角線Lc.根據(jù)前面求得的上下和左右直線可以求得交叉位置探測(cè)圖形的的四個(gè)角點(diǎn),再判斷I2與I3連成的直線和I1位置探測(cè)圖形的對(duì)角線的交點(diǎn)是否在QR碼圖形區(qū)域內(nèi)來確定最終的QR碼對(duì)角線.

      (2) 求豎直方向經(jīng)過點(diǎn)P3r且與L3平行的直線L4.平移L3直線,使其經(jīng)過P3r點(diǎn).

      (3) 計(jì)算Lc與L4的交點(diǎn)Pc4,并統(tǒng)計(jì)在Fbw中Pc4到P3r線段的白像素個(gè)數(shù).

      ① 如果統(tǒng)計(jì)到的白像素個(gè)數(shù)少于設(shè)定的閾值Tmin,則判斷為L(zhǎng)4向外偏離QR碼的邊界,此時(shí)應(yīng)該向QR碼的內(nèi)部區(qū)域重新調(diào)整交點(diǎn),直到白像素個(gè)數(shù)少于Tmin則停止調(diào)整并記下交點(diǎn)坐標(biāo)Plr.

      ② 如果統(tǒng)計(jì)到的白像素個(gè)數(shù)多于設(shè)定的閾值Tmax,則判斷為L(zhǎng)4往內(nèi)偏,此時(shí)應(yīng)該向QR碼的空白區(qū)域重新調(diào)整交點(diǎn),直到白像素個(gè)數(shù)首次多于設(shè)定的Tmax則停止調(diào)整并記下交點(diǎn)坐標(biāo)Plr.

      求橫向經(jīng)過點(diǎn)P2d且與L2平行的直線L5.

      (4) 平移L2直線,使其經(jīng)過P2d點(diǎn).

      (5) 計(jì) 算Lc與L5的 交 點(diǎn)Pc5,并統(tǒng)計(jì)在Fbw中Pc5到P2d線段的白像素個(gè)數(shù).類似于(3).

      (6) 計(jì)算QR碼四條外邊界相交的四個(gè)角點(diǎn).首先計(jì) 算 點(diǎn)Plr和P3r的斜 截 式,再計(jì) 算Pud和P2d的 斜截 式,以此作為逼近QR碼的另外兩條邊界線.聯(lián)系前面找到的橫向邊界線和豎向邊界線,對(duì)找到的四條QR碼邊界線聯(lián)立成方程組計(jì)算出相應(yīng)的角點(diǎn).設(shè)計(jì)算得到的四個(gè)角點(diǎn)為 {Ptl,Ptr,Pbl,Pbrl}.

      本文設(shè)置的外偏閾值為40個(gè)像素,即一旦檢測(cè)到斜截式經(jīng)過的白色點(diǎn)數(shù)少于40,則說明該直線往外偏.內(nèi)偏閾值為50個(gè)像素,即一旦斜截式經(jīng)過的白點(diǎn)大于50則說明該直線是內(nèi)偏.如圖6所示,圖6(a)顯示的是步驟(1)找到QR碼對(duì)角線的結(jié)果;圖6(b)顯示的是步驟(2)和(4)的結(jié)果,紅線表示偏離QR碼邊界線的情況,一條往內(nèi)偏,一條往外偏;圖6(c)顯示的是步驟(3)和(5)的結(jié)果,圖6(d)顯示的是4條邊逼近結(jié)果圖,并標(biāo)出了QR碼的4個(gè)角點(diǎn).

      圖6 邊界逼近與角點(diǎn)運(yùn)算結(jié)果

      3.2 逆透視變換與傾斜校正

      在QR碼識(shí)別中,圖像處理技術(shù)的最終目標(biāo)是正確采樣 QR 碼的深淺模塊,分別用‘1’和‘0’表示.而在采樣之前,掃描槍獲取QR碼圖片總會(huì)出現(xiàn)不定程度的透視結(jié)果和傾斜結(jié)果,這就要求在采樣前必須進(jìn)行逆透視變換和傾斜校正處理.

      3.2.1 逆透視變換

      逆透視變換[6,8]實(shí)際上是將原來圖像上的坐標(biāo)映射到另一個(gè)圖像的坐標(biāo)上,同時(shí)原來坐標(biāo)上的像素值也映射到另一個(gè)圖像對(duì)應(yīng)的坐標(biāo)上.

      透視變換過程中需要知道四個(gè)坐標(biāo)點(diǎn),經(jīng)過聯(lián)立方程組,求解出方程組中的系數(shù),同樣的逆透視變換也需要求出方程組中的系數(shù).原圖像中QR碼的四個(gè)角點(diǎn)坐標(biāo)為要將這四個(gè)角點(diǎn)坐標(biāo)映射到寬為width,高為height的視平面上,而QR碼是一個(gè)寬和高相等的正方形,所以QR碼角點(diǎn)對(duì)應(yīng)在視平面上的坐標(biāo)為:

      本文對(duì)二值化后的圖像Ibw做逆透視變換,映射到視平面圖像為Ip.根據(jù)公式(7)計(jì)算出映射的相關(guān)系數(shù)

      展開(7)式得到8個(gè)線性方程組成的方程組,轉(zhuǎn)換方程組為矩陣表達(dá)示(8),此時(shí)求解系數(shù)即是求出(8)式的未知解,本文使用列主元高斯消去法求解該線性方程組.

      求解得到ci系數(shù)后,說明可以根據(jù)這些系數(shù)建立原圖和目標(biāo)圖的坐標(biāo)映射關(guān)系,即是目標(biāo)圖的每個(gè)坐標(biāo)映射到原圖像的坐標(biāo)中,并復(fù)制原圖像的像素值在目標(biāo)圖像中.所以還需要根據(jù)式(9)(10)計(jì)算目標(biāo)圖坐標(biāo)映射到原圖的坐標(biāo),像素值的對(duì)應(yīng)采用雙線性插值法.

      逆透視變換后得到一個(gè)寬和高相等的圖像,但是三個(gè)位置探測(cè)圖形有可能不總分布在左上角,左下角,右上角,所以逆透視變換后的圖像還需要進(jìn)行旋轉(zhuǎn),旋轉(zhuǎn)的角度有90度,180度和270度三種情況.逆透視變換和旋轉(zhuǎn)校正的結(jié)果如圖7所示:圖7(a)是逼近QR碼四條邊的結(jié)果,通過四條邊的斜截式計(jì)算出QR碼在原圖上的角點(diǎn)坐標(biāo);圖7(b)是灰度圖逆透視變換到另一個(gè)視平面上的灰度圖像;圖7(c)是對(duì)逆透視變換后的圖像順時(shí)針旋轉(zhuǎn)180度校正后的圖像.

      圖7 逆透視變換與旋轉(zhuǎn)校正圖

      4 QR碼采樣

      QR碼圖像采樣是圖像處理最后的步驟.一個(gè)完整的QR碼圖像由兩種正方形的小模塊組成,一種是代表‘1’的深色小模塊,一種是代表‘0’的淺色小模塊,而圖像采樣的實(shí)際意義是讀取QR碼上的深淺色小模塊的‘10’值保存在一個(gè)二維數(shù)組中,以便于后面的解碼.

      本文的采樣方法主要依據(jù)RQ碼中定位圖形的深淺小模塊交替變化特性來建立采樣網(wǎng)絡(luò),對(duì)得到的網(wǎng)絡(luò)求每個(gè)小格的中心個(gè)像素均值,如果閾值大于140,說明該網(wǎng)格對(duì)應(yīng)的小模塊是淺色模塊,對(duì)應(yīng)的值用‘0’表示;如果閾值小于140,說明該網(wǎng)格對(duì)應(yīng)的小模塊是深色模塊,對(duì)應(yīng)的值用‘1’表示.本文的采樣步驟如下:

      (1) 二值化旋轉(zhuǎn)后的灰度圖像.為了避免光照亮度不均勻的情況,二值化依然是采用局部二值化的方法,對(duì)QR碼圖像劃分成 2×2的四個(gè)子圖,再對(duì)每個(gè)子圖采用大津法二值化得到圖像Ibw.

      (2) 根據(jù)第3節(jié)找出的QR碼位置探測(cè)圖形的角點(diǎn),計(jì)算Ibw中三個(gè)位置探測(cè)圖形的平均寬度,并除以7,得到每個(gè)小模塊的平均寬度pw.

      (3) 遍歷橫向網(wǎng)格線.

      ① 首先定位到左上角位置探測(cè)圖形的中間行并向右遍歷有深淺跳變的邊界則劃豎線,中間比例寬度為3的正方形根據(jù)平均寬度劃上3條豎線,直到掃描到這個(gè)位置探測(cè)圖形的最右邊界線,轉(zhuǎn)向?qū)ふ椅恢锰綔y(cè)圖形右下角點(diǎn)向上的行作為遍歷起點(diǎn).

      ② 從這點(diǎn)開始,向右掃描每列遇到的深淺邊界或者淺深邊界,則在該列劃上豎直線,直到遍歷到右上角位置探測(cè)圖形的邊界,則轉(zhuǎn)向①,直到的右邊界.

      (4) 遍歷豎向網(wǎng)格線.

      ① 首先定位到左上角位置探測(cè)圖形的中間列并向下遍歷有深淺跳變的邊界則劃?rùn)M線,中間比例寬度為3的正方形則根據(jù)劃上3條橫線,直到掃描到這個(gè)位置探測(cè)圖形的最下邊界線,轉(zhuǎn)向?qū)ふ椅恢锰綔y(cè)圖形右下角點(diǎn)向左的列作為遍歷起點(diǎn).

      ② 從這點(diǎn)開始,向下掃描每行遇到的深淺邊界或者淺深邊界,則在該行劃上橫線,直到遍歷到左下角位置探測(cè)圖形的邊界,則轉(zhuǎn)向①,直到的下邊界.

      (5) 統(tǒng)計(jì)每個(gè)小網(wǎng)格的深淺值.由上到下,左到右遍歷整個(gè)網(wǎng)格,計(jì)算每個(gè)網(wǎng)格中心個(gè)像素的均值,如果閾值大于140,則定義該網(wǎng)格值為‘0’;如果閾值小于140,則定義該網(wǎng)格 值為‘1’,遍歷完成后得到整個(gè)QR碼的二維矩陣.

      結(jié)果如圖8所示.左上角位置探測(cè)圖形的右下角兩個(gè)紅點(diǎn)分別表示右下角向上行的右遍歷起點(diǎn)和向左列的下遍歷起點(diǎn),右上角和左下角紅點(diǎn)表示由該點(diǎn)開始向位置探測(cè)圖形的中間點(diǎn)向右或向下遍歷邊界.QR碼總共有40個(gè)版本,圖8(a)(b)(c)分別是版本2,4和6.

      圖8 采樣網(wǎng)格

      5 基于DM642的QR碼識(shí)別系統(tǒng)的設(shè)計(jì)

      5.1 系統(tǒng)構(gòu)成

      硬件平臺(tái)選用以DM642[9]為核心處理器的開發(fā)板,主要用到開發(fā)板外圍器件有4路視頻端口,256 M SDRAM能存儲(chǔ)多達(dá)32幀圖像,8-32位Flash,10-100 M以太網(wǎng)口,板上JTAG仿真接口.DM642是TI公司C6000系列高性能數(shù)字媒體處理器,時(shí)鐘頻率高達(dá)720 MHz,本文設(shè)置時(shí)鐘頻率為600 MHz,處理能力為4800 MIPS.開發(fā)環(huán)境是CCS2.2,編程語言是C/C++.

      5.2 硬件系統(tǒng)的設(shè)計(jì)

      (1)如圖9所示,硬件系統(tǒng)框架設(shè)計(jì)

      (2)如圖10所示,基于BIOS/DSP的系統(tǒng)軟件框圖

      圖10 軟件系統(tǒng)框圖

      如圖9所示,本系統(tǒng)硬件以DM642為核心,輔以視頻解碼外設(shè)芯片.圖像采集由攝像頭采集大小為720×576的視頻信號(hào),經(jīng)視頻解碼器A/D轉(zhuǎn)換為YUV信號(hào),由EDMA搬運(yùn)QR圖像交予DM642進(jìn)行相應(yīng)的解碼處理,處理后得到的識(shí)別數(shù)據(jù)存在SDRAM中,最后將識(shí)別結(jié)果用串口傳上PC端顯示.

      5.3 系統(tǒng)代碼移植

      本文算法先在PC環(huán)境下調(diào)用計(jì)算機(jī)視覺Opencv函數(shù)庫(kù)在VS下仿真,實(shí)驗(yàn)效果達(dá)到預(yù)期的要求后再移植到DSP.代碼的移植可以分為QR圖像處理和QR解碼兩大部分.針對(duì)圖像處理的移植,EMCV是一個(gè)適合DM64x系列DSP上運(yùn)行的計(jì)算機(jī)視覺庫(kù),提供了與Opencv完全一致的函數(shù)接口,移植EMCV能夠把Opencv中少量的算法移植到DSP,EMCV中與圖像相關(guān)的數(shù)據(jù)結(jié)構(gòu)(IplImage)和輪廓提取算法(cvFindContours)是本文的移植重點(diǎn),而透視變換算法,旋轉(zhuǎn)算法和網(wǎng)格采樣算法均轉(zhuǎn)成C代碼直接移植到DSP,還有EMCV中與QR識(shí)別不相關(guān)的代碼則裁剪掉.針對(duì)QR解碼算法,引用libdecodeqr解碼庫(kù),將其轉(zhuǎn)成純C代碼后再移植到DSP中處理,因?yàn)檗D(zhuǎn)成C代碼后移植在DSP嵌入式平臺(tái)上運(yùn)行能極大提高運(yùn)行速度,且能確保與圖像處理的代碼一致是C代碼,易于代碼管理,同時(shí)裁剪EMCV能使整個(gè)系統(tǒng)的軟件更加簡(jiǎn)介,還減少程序存儲(chǔ)空間的負(fù)擔(dān).

      6 總結(jié)

      本文基于DM642嵌入式平臺(tái)實(shí)現(xiàn)了RQ碼的識(shí)別過程.首先基于位置探測(cè)圖形的輪廓嵌套特性實(shí)現(xiàn)QR碼的定位,接著以直線逼近的方法計(jì)算QR碼4條邊的斜截式,根據(jù)4條斜截式計(jì)算出QR碼的4個(gè)角點(diǎn)并做逆透視變換和傾斜校正處理,進(jìn)而對(duì)傾斜校正后的QR圖片基于定位圖形來劃分網(wǎng)格得到每個(gè)小模塊,然后計(jì)算出每個(gè)小模塊代表的深淺值來生成要解碼用的二維矩陣.本文算法的模擬環(huán)境是微軟的visual studio 2010平臺(tái),采集的樣本類型是的圖像,總共200張不同傾斜角度和透視畸變的樣本,樣本類型如圖11所示.本文定義的識(shí)別正確率為QR解碼后成功解碼的張數(shù),引用libdecodeqr解碼庫(kù),測(cè)試了所有不同版本的樣本,識(shí)別率為92.5%.

      圖11 手機(jī)QR碼樣本圖

      1 于俊偉,劉楠.基于嵌入式Linux的二維碼識(shí)別系統(tǒng).計(jì)算機(jī)光盤軟件與應(yīng)用,2012,(17):99-100.

      2 張民,鄭建立.基于符號(hào)特征的QR碼識(shí)別算法.計(jì)算機(jī)工程,2011,37(4):278-280.

      3 Chen CS,Kot AC,Yang HJ.A two-stage quality measure for mobile phone captured 2D barcode images.Pattern Recognition,2013,46(9):2588-2598.[doi:10.1016/j.patcog.2013.01.031]

      4 黃宏博,穆志純.基于圖像處理的復(fù)雜條件下手機(jī)二維碼識(shí)別.北京信息科技大學(xué)學(xué)報(bào),2011,26(5):40-44.

      5 Suzuki S,Abe K.Topological structural analysis of digitized binary images by border following.Computer Vision,Graphics,and Image Processing,1985,30(1):32-46.[doi:10.1016/0734-189X(85)90016-7]

      6 Sun AD,Sun Y,Liu CX.The QR-code reorganization in illegible snapshots taken by mobile phone.Proceedings of the 5th International Conference on Computational Science and its Applications.Kuala Lampur,Malaysia.2007.532-538.

      7 衛(wèi)晉偉,戴曙光,穆平安.基于形態(tài)學(xué)和Hough變換的QR碼校正與定位方法.電腦與信息技術(shù),2010,18(6):32-35.

      8 熊用,汪魯才,艾瓊龍.基于相關(guān)匹配的QR碼識(shí)別方法.儀器儀表學(xué)報(bào),2011,32(3):571-576.

      9 Texas Instruments.TMS320DM642 video/imaging fixedpoint digital signal processor.Texas:Texas Instruments,2005.

      猜你喜歡
      角點(diǎn)解碼輪廓
      《解碼萬噸站》
      OPENCV輪廓識(shí)別研究與實(shí)踐
      基于實(shí)時(shí)輪廓誤差估算的數(shù)控系統(tǒng)輪廓控制
      解碼eUCP2.0
      NAD C368解碼/放大器一體機(jī)
      Quad(國(guó)都)Vena解碼/放大器一體機(jī)
      基于FAST角點(diǎn)檢測(cè)算法上對(duì)Y型與X型角點(diǎn)的檢測(cè)
      基于邊緣的角點(diǎn)分類和描述算法
      電子科技(2016年12期)2016-12-26 02:25:49
      基于圓環(huán)模板的改進(jìn)Harris角點(diǎn)檢測(cè)算法
      在線學(xué)習(xí)機(jī)制下的Snake輪廓跟蹤
      察隅县| 南部县| 连南| 临汾市| 陇南市| 略阳县| 东乡县| 平陆县| 萨嘎县| 留坝县| 洮南市| 姚安县| 双鸭山市| 清原| 呼玛县| 米林县| 广宗县| 永泰县| 普定县| 桐庐县| 沂源县| 信丰县| 黄平县| 贵定县| 双柏县| 东乡| 五大连池市| 郧西县| 瑞昌市| 衡阳市| 琼海市| 苍溪县| 崇信县| 亚东县| 宜黄县| 商洛市| 牟定县| 寿宁县| 金寨县| 大理市| 宿迁市|