新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > Data Matrix二維碼圖像處理與應(yīng)用

Data Matrix二維碼圖像處理與應(yīng)用

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

碼是在平面方向上都記錄信息的符號(hào)。它充分利用了平面上的空間,大大提升了信息密度,使得在小面積上編碼大數(shù)據(jù)成為可能。其次由于它超強(qiáng)的糾錯(cuò)能力,即使大面積受損也能被準(zhǔn)確識(shí)別?,F(xiàn)在二維碼于工業(yè)自動(dòng)化、物流、郵政、醫(yī)療、商業(yè)、金融、交通運(yùn)輸、身份識(shí)別、政府管理、公共安全、海關(guān)及國防等領(lǐng)域。在我國,二維碼的尚屬起步階段,地區(qū)和領(lǐng)域也相當(dāng)有限。但是可以預(yù)見,二維碼以其獨(dú)特的優(yōu)勢(shì)必將像條形碼一樣在我國的各個(gè)領(lǐng)域被推廣和應(yīng)用。

本文引用地址:http://butianyuan.cn/article/166921.htm

本文通過Matrox公司的圖像采集卡Meteor-II Standard,利用MIL函數(shù)庫對(duì)氣動(dòng)打印在金屬零件上的 二維碼進(jìn)行了實(shí)時(shí)捕捉識(shí)別,并對(duì)采集來的 圖像進(jìn)行具體的,命名其達(dá)到被識(shí)別的要求。最后,通過實(shí)驗(yàn)討論提高識(shí)別率的辦法。

1 概述

二維碼有多種類型,本文只討論矩陣式Data Matrix。

Data Matrix最大特點(diǎn)就是“小”,能在25mm2面積上編碼30個(gè)數(shù)字,因此被廣泛用于標(biāo)示集成電路、藥品等小件物品。另外在制造業(yè)的流水線生產(chǎn)過程中,打印生成Data Matrix也較容易。

如圖1所示,Data Matrix符號(hào)看起來像一個(gè)由深淺兩種顏色組成的國際象棋棋盤,每一個(gè)相同大小的黑色或白色方格稱為一個(gè)數(shù)據(jù)單位。Data Matrix符號(hào)由許多這樣的數(shù)據(jù)單位組成。在尋邊區(qū)外層有寬度為一個(gè)數(shù)據(jù)單位的靜區(qū)。尋邊區(qū)是“棋盤”的邊界,只用于定位和定義數(shù)字單位的大小,而不含 有任何編碼信息。被尋邊區(qū)包圍的數(shù)據(jù)區(qū)包含著編碼信息。矩陣中的0、1就是Data Matrix的黑白兩色小方格,即數(shù)據(jù)單位。

Data Matrix采用了Reed-Solomon交織交插編碼,編碼時(shí)加入了糾錯(cuò)碼,使Data Matrix的糾錯(cuò)性能比較強(qiáng)。以一個(gè)5位的流水號(hào)“12345”為例,通過編碼規(guī)則得到Data Matrix的3位碼字和5位糾錯(cuò)碼,可糾錯(cuò)2位碼字,糾錯(cuò)率為2/8=25%。

2 用MIL識(shí)別Data Matrix碼

Meteor-II Standard是Matrox公司的一塊圖像采集卡,通過攝像頭采集外界圖像,然后實(shí)時(shí)地傳輸給主機(jī)內(nèi)存。MIL函數(shù)開發(fā)包是一個(gè)獨(dú)立于硬件的32位函數(shù)庫,其中有大量基本的函數(shù)。

2.1 基本過程

Data Matrix識(shí)別的基本過程如圖2所示。通過MIL提供的函數(shù)采集圖像,并將采集的圖像以數(shù)字化方式存儲(chǔ)在圖像緩沖區(qū)中;對(duì)圖像進(jìn)行增強(qiáng)處理,提高圖像的識(shí)別準(zhǔn)確率。實(shí)驗(yàn)中通過平滑濾波辦法,減少圖像噪聲,很好地解決了采集金屬零件的Data Matrrix碼時(shí),由于碼符號(hào)邊沿亮度過亮影響圖像分割問題;然后對(duì)圖像進(jìn)行直方圖均衡化,擴(kuò)大對(duì)比度的動(dòng)態(tài)范圍,解決由于光照或攝像頭的原因,造成采集的圖像偏暗,對(duì)比度不夠顯著,引起圖像中明暗模糊不清的問題。

由于采集后的圖像有很多無用背景,Data Matrix符號(hào)所在區(qū)域只占整個(gè)圖像很上的比重。采用遮罩的辦法,用一個(gè)固定位置的子緩沖區(qū)限制圖像處理區(qū)域,忽略區(qū)域外的圖像,實(shí)現(xiàn)Data Matrix的符號(hào)提取。最后用MIL函數(shù)直接譯碼,并將譯碼結(jié)果放在指定的字符串中,用顯示語句在屏幕上打印結(jié)果。

2.2 Data Matrix符號(hào)的膨賬

金屬零件上的Data Matrix碼是氣動(dòng)打印而成的成點(diǎn)陣式,與標(biāo)準(zhǔn)的Data Matrix符號(hào)不完全一樣,其點(diǎn)間空隙大。如對(duì)這種碼毫無處理地進(jìn)行識(shí)別,則識(shí)別率會(huì)很低。為了解決這個(gè)問題,采用數(shù)學(xué)形態(tài)學(xué)的膨脹算法。為了提高識(shí)別準(zhǔn)確度,可以將Data Matrix符號(hào)膨脹若干次,縮小數(shù)據(jù)單位之間的空隙。這樣,計(jì)算機(jī)在“尋找”Data Matrix的“L”型尋邊區(qū)時(shí)就容易準(zhǔn)確得多。

2.3 偽實(shí)時(shí)識(shí)別的實(shí)現(xiàn)

由于MIL本身不支持圖像的實(shí)時(shí)處理,所以要實(shí)現(xiàn)實(shí)時(shí)識(shí)別需要用一種叫做比緩沖的辦法實(shí)現(xiàn)偽實(shí)時(shí)的圖像處理,CPU每次處理的圖像其實(shí)是攝像頭采集的上一幀圖像。

雙緩沖區(qū)使一邊采集圖像一邊處理圖像成為可能,如圖3所示。攝像頭將圖像采集到圖像緩沖區(qū)1中等待處理,與此同時(shí)CPU利用這段時(shí)間處理圖像緩沖區(qū)2中(上一幀)的圖像,完畢后兩個(gè)緩沖區(qū)的職能交換;CPU處理緩沖區(qū)1中采集的前一時(shí)刻的圖像,而此時(shí)緩沖區(qū)2中的圖像已被處理完畢,可以接收攝像頭下一幀的采集圖像。如此往復(fù),兩個(gè)緩沖區(qū)互換,不間斷地運(yùn)動(dòng)便可實(shí)現(xiàn)偽實(shí)時(shí)處理。在處理環(huán)節(jié)上加Data Matrix識(shí)別功能,就能實(shí)現(xiàn)實(shí)時(shí)識(shí)別Data Matrix。采集圖像和處理圖像正好相差一幀,所以是“偽”實(shí)時(shí)的,但是假如計(jì)算機(jī)運(yùn)算速度足夠快,時(shí)間延遲的影響便可忽略。
這種辦法的優(yōu)點(diǎn)是既實(shí)現(xiàn)了實(shí)時(shí)性,又將采集和處理這兩項(xiàng)進(jìn)程分開,讓CPU和攝像頭分別獨(dú)立并行地處理,充分利用了空閑時(shí)間。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉