<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于DSP56F826芯片的二維條碼掃描器系統

基于DSP56F826芯片的二維條碼掃描器系統

作者: 時(shí)間:2010-09-14 來(lái)源:網(wǎng)絡(luò ) 收藏

  電源控制電路

  輸入5V的直流電作為整個(gè)的電源。由于圖像傳感OV7120使用5V電源,MAX202E用5V電源,外部SRAM用3.3V電源, Core用2.5V電源,而 的I/O口用3.3V電源,所以電源分三路輸出。

  照明控制電路

  采用主動(dòng)光源,用三個(gè)發(fā)光二極管給條碼采集提供照明,便于圖象的定標。當開(kāi)始采集圖象數據時(shí),DSP輸出一控制信號,驅動(dòng)發(fā)光二極管工作。采集結束后,在DSP控制下停止工作。

  部分電路圖示于圖3。

  

  圖3 部分硬件電路圖

  軟件設計

  開(kāi)始工作時(shí),首先采集圖象數據,由于實(shí)際工作中條碼圖象會(huì )出現污損等情況,對碼字的正確譯出造成影響,所以必須對采集到的圖象進(jìn)行降噪、校正等處理。條碼圖象為灰度圖象,對其進(jìn)行二值化才能進(jìn)行碼字識別。在將PDF417碼的所有碼字正確分割后,以查表方式在碼本中查找與碼字相對應的值,將編碼數據譯出。為確認掃描的有效性,必須進(jìn)行前向錯誤校驗。如出錯,則進(jìn)行糾錯。最后,將譯碼的正確數據傳輸到上位計算機或直接進(jìn)行處理顯示。軟件框圖如圖4所示。

  降噪處理

  圖象采集OV7120成像速度為30幀/秒,但是在實(shí)際操作過(guò)程中,會(huì )有人手抖動(dòng)、條碼圖象移動(dòng)等情況產(chǎn)生,采集時(shí)間過(guò)長(cháng),就會(huì )導致每幀圖象之間的差別相當大,進(jìn)而造成很大的識別誤差,所以在每一次掃描時(shí),我們只取三幀圖象,所用時(shí)間為 :(1 / 30 ) × 3 = 0.1 s ,可以忽略人手抖動(dòng)等影響。設采集到的三幀圖象為I1 (x , y) 、I2 (x , y) 、I3 (x , y) , 每幀的噪聲方差為σ2,取平均可得到:

  I (x , y) = I (x , y)的噪聲方差為σ2/3 。

  可見(jiàn)此方法可以有效降噪。我們不采用常見(jiàn)的中值濾波、Butterworth濾波等方法,是因為一個(gè)碼字占有3、4個(gè)像素點(diǎn),用中值或Butterworth濾波處理污損的圖象,將對圖象造成結構性的破壞。

  圖象二值化

  首先統計出圖象的直方圖,然后用Bayesian最佳分類(lèi)器,確定最佳二值化門(mén)限電平,實(shí)現對圖象的二值化處理。此二值化門(mén)限電平必須是動(dòng)態(tài)調整的,因為每次的光照等外界條件是不同的,每掃描一次條碼,就必須確定一個(gè)新的二值化門(mén)限電平。動(dòng)態(tài)采集到的條碼圖象有300K像素點(diǎn),但只需要取圖象中間區域進(jìn)行統計直方圖,取中間的64×64個(gè)像素點(diǎn),平均每統計一個(gè)像素點(diǎn)需要2個(gè)指令周期,可算得統計直方圖總共需要64×64×2=8192個(gè)指令周期。確定二值化門(mén)限電平需要約2000個(gè)指令周期,由此可計算所用時(shí)間約為:(8192+2000)/ 40000000 = 0.00025 s。

  碼字識別與信號糾錯

  在碼字分割完成之后,采用模板匹配方式,在固定的碼本中查找與碼字相對應的值,將碼字譯出。這里不需要用到神經(jīng)網(wǎng)絡(luò ),因為PDF417碼字模式非常標準,用簡(jiǎn)單的模板匹配即可完成,不需復雜化。對一個(gè)碼字進(jìn)行模板匹配需要8000個(gè)指令周期,平均每個(gè)二維條碼包含500個(gè)碼字,則進(jìn)行模板匹配總共需要時(shí)間為:8000×500 / 40000000 = 0.1 s 。為確保譯碼的有效性,使用R-S錯誤控制碼對碼字進(jìn)行檢錯和糾錯,每個(gè)碼字的檢錯和糾錯需要用100個(gè)指令周期,所以總共需要100×500 / 40000000 = 0.00125 s的時(shí)間來(lái)完成二維條碼數據糾錯。

  結語(yǔ)

  所設計的二維條碼為系統核心,采用優(yōu)化算法,可以快速高效地對二維條碼進(jìn)行識別處理。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>