當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于DSP的PDF417快速解碼終端的設(shè)計(jì)與實(shí)現(xiàn)

PDF417條碼具有信息容量大、編碼范圍廣、檢錯(cuò)糾錯(cuò)能力強(qiáng)等特點(diǎn),已在許多領(lǐng)域得到應(yīng)用。然而,由于對條碼圖像要求較高,國內(nèi)現(xiàn)有的PDF417技術(shù)商用化程度不高。實(shí)際使用中,PDF417條碼的識(shí)別率、解碼的正確率和解碼的實(shí)時(shí)性等方面都有很大的提升空間。
    本文介紹的解碼終端采用專用條碼攝像頭采集條碼圖像,在基于TMS320C6713的DSP平臺(tái)上實(shí)現(xiàn)了PDF417條碼的準(zhǔn)確、快速讀取。
1 PDF417條碼概述
    PDF417是一種堆疊式二維條形碼。組成條碼的每一個(gè)符號(hào)字符代表編碼集中的一個(gè)碼字,并且均由4條4空共17個(gè)單位模塊構(gòu)成。圖1給出了PDF417條碼結(jié)構(gòu)圖[1]。條碼由多層一維條碼從上至下堆疊而成,每一層都可分為靜區(qū)、起始符、行指示符、信息碼字、結(jié)束符幾個(gè)部分。條碼每層具有相同的起始符與結(jié)束符,對應(yīng)的條空序列分別為81111113和711311121。


    條碼采用文本、字節(jié)和數(shù)字三種數(shù)據(jù)壓縮模式將原始數(shù)據(jù)轉(zhuǎn)換為0~928的碼字。三種壓縮模式分別對不用類型的數(shù)據(jù)具有較高的壓縮率,三者之間用模式轉(zhuǎn)換與模式鎖存進(jìn)行靈活的轉(zhuǎn)換。
    PDF417采用Reed-Solomon碼對條碼數(shù)據(jù)進(jìn)行檢錯(cuò)與糾錯(cuò),最高級(jí)別含有512個(gè)糾錯(cuò)碼字,可復(fù)原條碼50%的碼字。
2 硬件平臺(tái)
    系統(tǒng)的硬件架構(gòu)如圖2所示。系統(tǒng)硬件主要包含圖像處理和圖像采集兩個(gè)模塊。


2.1 圖像處理模塊
    系統(tǒng)的圖像處理模塊采用DSP外配SDRAM的方式實(shí)現(xiàn)圖像的快速處理。DSP芯片選取TI公司的高性能32位浮點(diǎn)處理芯片TMS320C6713B;SDRAM芯片為Micron公司的MT48LC32M8A2,其存儲(chǔ)空間為256 MB。C6713芯片的高速浮點(diǎn)處理能力保證了條空寬度確定的速度與準(zhǔn)確性。系統(tǒng)工作過程中,SDRAM的作用為:緩存圖像數(shù)據(jù);存放圖像運(yùn)算的中間變量;作為系統(tǒng)的堆棧空間和常量及表的存放空間。
2.2 圖像采集模塊
    視頻數(shù)據(jù)采集模塊由條碼采集攝像頭、FPGA和乒乓RAM 3個(gè)部分組成。攝像頭采用Microscan公司的條碼圖像采集專用激光攝像頭QUADRUS MINI Imager。由于TMS320C6713B芯片無video port接口,不能直接和攝像頭進(jìn)行邏輯連接,因而采用ALTERA公司的EP1C6作為控制核心,將Camera采集的視頻信號(hào)流以幀為單位保存到高速SRAM中,并在合適的時(shí)機(jī)將SRAM總線切換給DSP以供運(yùn)算處理。乒乓RAM以FPGA和DSP之間的通信接口RAM而存在,解決了DSP和攝像頭連接的問題。另外,該模塊還為攝像頭配備LED補(bǔ)光系統(tǒng)以改善采集圖像的質(zhì)量。
3 軟件設(shè)計(jì)
    解碼終端軟件的設(shè)計(jì)強(qiáng)調(diào)提升條碼識(shí)別率、解碼正確率和系統(tǒng)實(shí)時(shí)性3個(gè)指標(biāo),主要包含二值化、區(qū)域定位、精確定位、條碼分層等模塊。圖3為系統(tǒng)軟件架構(gòu)。


3.1 不均勻光照條件下的圖像二值化
    條碼圖像二值化要考慮不均勻光照的影響以及系統(tǒng)實(shí)時(shí)性解碼的要求。本文改進(jìn)了Bernsen算法[3],成功地去除了不均勻光照的影響。該算法處理步驟如下:
    (1)用大津法取得粗閾值為T。掃描整個(gè)f(x,y)灰度圖像,如果f(x,y)>T+a,則b(x,y)=255;如果f(x,y)<T+a,則b(x,y)=0。其中a為Bernsen算法的處理區(qū)間寬度,取值范圍15~30,b(x,y)為二值化后圖像。
    (2)對發(fā)生光照不均勻最嚴(yán)重的區(qū)域,即落在區(qū)間T-a<f(x,y)<T+a的點(diǎn)進(jìn)行處理,取w為閾值計(jì)算窗口,計(jì)算方法如下:
    

    如果T3>a,則取T2為閾值;否則,取T4為閾值,對區(qū)間內(nèi)的點(diǎn)進(jìn)行二值化。
    Bernsen算法只用T2作為閾值對區(qū)間內(nèi)點(diǎn)進(jìn)行二值化,忽略了全局閾值的作用,而改進(jìn)的算法采用雙閾值對不均勻光照的區(qū)域進(jìn)行二值化處理,減少了偽影現(xiàn)象。該算法是全局閾值算法和局部閾值算法的結(jié)合,同時(shí)兼顧了處理效果和時(shí)間復(fù)雜度。
3.2 條碼的區(qū)域定位
    條碼的區(qū)域定位計(jì)算較為復(fù)雜,因此算法的選擇需要兼顧處理速度和處理效果。本文采用了基于連通域的區(qū)域定位算法[2],算法包括條碼方向提取、條碼區(qū)域連接和連通域標(biāo)記3個(gè)步驟。圖4給出了區(qū)域定位算法框圖。[!--empirenews.page--]

    條碼方向的提取決定了膨脹運(yùn)算所使用的結(jié)構(gòu)體。由于對圖像直接進(jìn)行膨脹運(yùn)算很容易受噪聲的影響,算法首先將圖像區(qū)域分為水平、垂直、45°和135° 4種大致方向,而后提取條碼的方向并根據(jù)條碼不同的方向使用4種不同的膨脹結(jié)構(gòu)體。這樣有效防止了與條碼接近的其他文字等背景由于使用各向同性的結(jié)構(gòu)體進(jìn)行膨脹運(yùn)算而連接到條碼中。方向提取先得到圖像橫向和縱向的梯度信息,而后以適當(dāng)?shù)拈撝祵Φ玫降奶荻葓D二值化并進(jìn)行比較。認(rèn)為含有較多邊界信息的圖指示的方向?yàn)闂l碼的走向。如果兩圖邊界的差值在一定范圍內(nèi),則用同樣的方法檢測45°和135°兩個(gè)方向。
    膨脹算法將條碼連成一個(gè)緊密的連通區(qū)域,之后要進(jìn)行連通域的標(biāo)記以定位條碼區(qū)域。算法包含3個(gè)步驟:
    (1)如果當(dāng)前點(diǎn)A是前景點(diǎn)并且其前一點(diǎn)未被標(biāo)記,則認(rèn)為A是一個(gè)連通域的外輪廓點(diǎn);跟蹤這個(gè)外輪廓,并將所有外輪廓點(diǎn)都標(biāo)記為與A屬于相同的連通域。
    (2)如果當(dāng)前點(diǎn)A下方的點(diǎn)是背景點(diǎn)且A的前一點(diǎn)已被標(biāo)記,則認(rèn)為A是連通域內(nèi)輪廓點(diǎn);跟蹤這個(gè)內(nèi)輪廓,并將所有內(nèi)輪廓點(diǎn)都標(biāo)記為與A屬于相同的連通域。
    (3)如果前景點(diǎn)A的前一點(diǎn)已被標(biāo)記且不屬于情況1和2,則將A標(biāo)記為與其前一點(diǎn)屬于相同的連通域。
    邊界的跟蹤是通過搜索像素點(diǎn)8臨域?qū)崿F(xiàn)的,用順時(shí)針排布的1~7分別代表8臨域點(diǎn),搜索方向更新公式為:
   
    系統(tǒng)采用的連通域標(biāo)記法舍棄了傳統(tǒng)的二次標(biāo)記方式,而采用跟蹤連通域外輪廓的方法,只需要對圖像進(jìn)行一次掃描,因此具有更快的速度。
3.3 條碼的精確定位
    本文提出時(shí)間復(fù)雜度較低的邊緣跟蹤算法,精確定位了條碼的4個(gè)頂點(diǎn),為條碼傾斜和幾何形變的校正提供條件。圖5給出了精確定位算法流程圖。


    以搜索左上角頂點(diǎn)為例。系統(tǒng)用參考點(diǎn)數(shù)組記錄搜索到的條碼起始符或結(jié)束符的邊緣走向,步進(jìn)點(diǎn)數(shù)組沿起始結(jié)束符黑色邊界方向逐點(diǎn)步進(jìn)。若步進(jìn)過程中某一時(shí)刻,步進(jìn)點(diǎn)數(shù)組與參考點(diǎn)數(shù)組夾角超過45°,說明步進(jìn)點(diǎn)數(shù)組已步進(jìn)到條碼邊緣,則將步進(jìn)點(diǎn)數(shù)組中心點(diǎn)位置確定為條碼的左上頂點(diǎn)。用類似的方法搜索,可得到條碼的其他3個(gè)頂點(diǎn)。
    條碼的4個(gè)頂點(diǎn)確定以后,再經(jīng)過旋轉(zhuǎn)變換、錯(cuò)切變換和透視變換,將幾何形變的不規(guī)則四邊形條碼校正為矩形條碼。條碼的旋轉(zhuǎn)使終端的解碼不再局限于水平和垂直的條碼,實(shí)現(xiàn)了PDF417的全方位解碼。
3.4 條碼分層及碼字讀取
    PDF417是堆疊式條形碼,需要確定條碼的層次以進(jìn)行逐行碼字的讀取。確定條碼層次的步驟如下:
    (1)用Sobel邊緣檢測算子作用于圖像,提取圖像邊界。
    (2)將得到的分層界限進(jìn)行水平投影,記錄投影點(diǎn)數(shù)目p(i)。
    (3)隔行差分。按照dif(i)=p(i)-p(i-2)計(jì)算第i行的投影差分值。若當(dāng)前行投影差分值大于零,而其下一行差分值小于零,則認(rèn)為該行為分層界限。
    (4)偽邊界去除。將投影高度小于投影峰值1/4的邊界去除,以消除由噪聲產(chǎn)生的偽邊界。
    得到條碼的層邊界后,系統(tǒng)采用層內(nèi)投影并判斷投影高度的方法來讀取每層條碼的條空信息。實(shí)踐證明該方法具有較高的正確率。
    用條空的寬度除以單位模塊的寬度得到條碼的條空寬度序列,如:81111113….31111334….711311121。單位模塊寬度求解方法為:
    
其中,Wm為單位模塊寬度,Wl為層寬,n為一層條空總數(shù)。
    最終譯碼采用查表的方式將條空序列轉(zhuǎn)換為碼字序列。碼字序列經(jīng)過檢錯(cuò)與糾錯(cuò)后,按照3種壓縮模式編碼的反方向進(jìn)行譯碼,最終得到PDF417條碼的原始數(shù)據(jù)。
4 實(shí)驗(yàn)結(jié)果
    對采集到的28 000幅、分辨率為320×480的圖像進(jìn)行測試。測試結(jié)果表明,本終端PDF417條碼的識(shí)別率可達(dá)99.76%,識(shí)別碼解碼正確率為100%,解碼速度達(dá)10次/s以上,具有國內(nèi)領(lǐng)先的技術(shù)水平。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉