<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于NiosII的二維條碼識(shí)別系統(tǒng)設(shè)計(jì)

          基于NiosII的二維條碼識(shí)別系統(tǒng)設(shè)計(jì)

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

          2 核心算法
          條碼譯碼主要流程是首先對(duì)條碼進(jìn)行自適應(yīng)二值化,然后對(duì)條碼進(jìn)行定位、旋轉(zhuǎn)、分割。分割出單個(gè)碼字后,通過(guò)邊緣檢測(cè),得到條碼條空序列模塊寬度后,再進(jìn)行糾錯(cuò)解碼。
          傳統(tǒng)算法在對(duì)條碼定位時(shí)多采用Hough變換,通過(guò)Hough變換提取條碼圖像中的直線傾角來(lái)旋轉(zhuǎn)條碼。但是Hough變換的大運(yùn)算量并不適用于實(shí)時(shí)性要求高的的嵌入式設(shè)備。筆者結(jié)合PDF417條碼自身的特點(diǎn),采用4點(diǎn)定位的方法來(lái)分割條碼,有效提高速度。核心算法流程詳細(xì)步驟如下:
          (1)條碼定位
          實(shí)際采集條碼時(shí)會(huì)出現(xiàn)各種傾斜,如圖6所示。如何定位條碼是關(guān)鍵的問(wèn)題。可以利用條碼起始頭特有的比例來(lái)定位。按照國(guó)標(biāo)的定義,PDF417條碼的起始符黑白條空比是81111113,終止符黑白條空比是711311121。掃描圖像的每一行,分別匹配起始符和終止符的條空比。考慮到條碼采集過(guò)程中,邊緣受高斯點(diǎn)擴(kuò)展函數(shù)的影響,只要黑白條空比例的誤差不超過(guò)三位,可近似認(rèn)為符合比例。標(biāo)記所有符合起始符條空比比例條碼線段,可以得到4個(gè)控制點(diǎn)a、b、c、d,用同樣的方法可以尋找符合終止符條空比的條碼線段,確定點(diǎn)e、f、g、h。判斷a、c、e、g是否為正確控制點(diǎn)的標(biāo)準(zhǔn)是,平行邊長(zhǎng)度誤差在5個(gè)像素點(diǎn)內(nèi),且相鄰邊角度為90°,其誤差角度為2°。


          (3)行條碼分割及行高確定
          由于PDF417條碼是層疊式條碼,在對(duì)單行條碼碼字進(jìn)行識(shí)別時(shí),必須得到條碼的行數(shù),然后分離出每一行。首先對(duì)條碼使用Sobel算子進(jìn)行水平邊緣檢測(cè),如圖7所示,然后向水平方向投影,如圖8所示。

          已知p(x)對(duì)應(yīng)投影的峰值,也就條碼的邊界,通過(guò)對(duì)投影下來(lái)的每個(gè)值求一次差分 p(x),然后逐個(gè)判斷各個(gè)差分值,如果連續(xù)兩個(gè)投影的差分值前一個(gè)是負(fù)數(shù)而后一個(gè)是0或者正數(shù),則說(shuō)明此點(diǎn)是峰值。峰值處的坐標(biāo)即為條碼分層的地方,考慮到條碼層與層連接的地方在二值化時(shí)會(huì)出現(xiàn)噪點(diǎn),則取每層條碼圖像中間的50%作為有效圖像。
          (4)碼字識(shí)別
          分割出單個(gè)碼字后,得到條空的像素個(gè)數(shù),記為{M1,M2,…,M8},因?yàn)?個(gè)條和4個(gè)空的總模塊數(shù)為17,可以根據(jù)式(1)得出條模塊數(shù)的集合{T1,T2,T3,T4)。同樣,用Ki替代式(1)中的Ti,可得到空模塊數(shù)的集合{K1,K2,K3,K4}。



          因PDF417條碼用了三個(gè)簇的數(shù)據(jù)來(lái)組成一個(gè)條碼,三個(gè)簇的數(shù)據(jù)量較大,且每個(gè)簇中的數(shù)據(jù)與條空比無(wú)一致對(duì)應(yīng)關(guān)系,所以就涉及把條空比轉(zhuǎn)換成條碼數(shù)據(jù)的問(wèn)題。本算法采用的解決方案是:用哈希算法來(lái)查找:
          F=Z×1400+K2×216+T3×36+K4×6+T (2)
          式(2)中Z為空1模塊數(shù)和條2模塊數(shù)的組合,再利用F的值進(jìn)行查找,實(shí)現(xiàn)數(shù)據(jù)流的譯碼。數(shù)據(jù)流譯碼不是本文重點(diǎn),這里不再詳細(xì)闡述。



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();