《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動(dòng)態(tài) > Data Matrix二維碼圖像處理與應(yīng)用

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

2008-09-16
作者:唐 莉 劉富強(qiáng)1 錢黎俊2

??? 摘? 要: 以Meteor II Standard圖像采集卡" title="圖像采集卡">圖像采集卡為基礎(chǔ),以識別金屬零件上的Data Matrix二維碼為目的,對攝像頭采集的圖像進(jìn)行處理。實(shí)現(xiàn)了該方法在工業(yè)流水線上的實(shí)時(shí)識別應(yīng)用。?

????關(guān)鍵詞: 二維碼? Data Matrix? 圖像處理" title="圖像處理">圖像處理? 實(shí)時(shí)識別

?

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

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

1 Data Matrix概述?

??? 二維碼有多種類型,本文只討論矩陣式Data Matrix二維碼的識別,簡稱Data Matrix。?

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

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

?

?

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

2 用MIL識別Data Matrix碼?

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

2.1 基本過程?

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

?

?

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

2.2 Data Matrix符號的膨脹?

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

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

??? 由于MIL本身不支持圖像的實(shí)時(shí)處理,所以要實(shí)現(xiàn)實(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)行便可實(shí)現(xiàn)偽實(shí)時(shí)處理。在處理環(huán)節(jié)上加Data Matrix識別功能,就能實(shí)現(xiàn)實(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í)間。?

3 識別結(jié)果統(tǒng)計(jì)與分析?

??? 通過編程,實(shí)現(xiàn)了對金屬上的Data Matrix碼進(jìn)行識別,并統(tǒng)計(jì)了總的采集幀數(shù)(f)、幀率(f/s)、識別成功的總幀數(shù)、識別率等信息。實(shí)驗(yàn)證明在攝像頭焦距以及光源都相當(dāng)理想的情況下,識別率很高。

??? Data Matrix識別的成功率與很多因素有關(guān),首先是Data Matrix符號本身,打印在紙上與打印在金屬零件上的點(diǎn)陣式Data Matrix差異很大;其次是檢測時(shí)的運(yùn)動(dòng)失真,會(huì)影響識別成功率;再次是背景圖像的影響,Data Matrix符號與背景色反差越大,背景中干擾圖像越少,識別成功率越高;光源、符號的旋轉(zhuǎn)等都會(huì)對識別造成影響。?

3.1 運(yùn)動(dòng)檢測的影響?

??? Data Matrix檢測常用在流水線上,這時(shí)需要考慮攝像頭與被檢測零件相對運(yùn)動(dòng)對識別的影響。在實(shí)驗(yàn)中用固定零件、移動(dòng)攝像頭的方法來模擬流水線中的運(yùn)動(dòng)檢測,記錄每次檢測時(shí)攝像頭的運(yùn)動(dòng)速度,以此找出零件上的Data Matrix能夠被識別的最大相對運(yùn)動(dòng)速度。?

??? 現(xiàn)通過實(shí)驗(yàn)測得20組數(shù)據(jù),以6mm×6mm的Data Matrix為考察對象,結(jié)果如表1所示。?

?

?

??? 綜上結(jié)果,在光照和攝像頭焦距理想的情況下,最大識別的相對速度為2.00cm/s,比該速度再快可能會(huì)因運(yùn)動(dòng)失真導(dǎo)致Data Matrix無法識別。?

3.2 干擾圖像的影響?

??? 在相同條件下,背景干擾少的圖像識別率較高,尤其當(dāng)背景具有與Data Matrix類似矩形狀的圖形時(shí)。在光照較好的條件下,測試金屬零件上的Data Matrix識別率。在有背景干擾的情況和用子緩沖區(qū)屏蔽一些背景干擾的情況各測得10組數(shù)據(jù),分別如表2所示。?

?

?

??? 可見,用子緩沖區(qū)屏蔽一些無用的背景圖像后,識別效果總體上要略好于未屏蔽。?

3.3 光源的影響?

??? 光源對識別成功率的影響反映在圖像整體的明暗對比度上。對金屬零件上的Data Matrix而言,其更多的是影響符號的清晰程度。光源位置如果選取不得當(dāng),由于金屬的反光特性,金屬表面會(huì)形成一片亮度特別大的鏡面" title="鏡面">鏡面反射區(qū),給Data Matrix圖像造成強(qiáng)烈的干擾。?

??? 一種比較好的方法是用側(cè)光的方法。由于金屬零件上的Data Matrix碼是氣動(dòng)打印產(chǎn)生的,打印處會(huì)有高低起伏,這些區(qū)域的反光是漫反射,不同于其他區(qū)域的鏡面反射光,側(cè)光有助于把點(diǎn)陣與金屬反光的背景分開,將攝像頭避開了金屬的鏡面反光。圖4對比了側(cè)光和反射光下的二維碼狀態(tài)。?

?

?

3.4 識別程序的適應(yīng)性?

??? 識別程序的適應(yīng)性指適應(yīng)不同尺寸和打印類型Data Matrix的能力。本文中考察的打印類型有金屬表面氣動(dòng)打印、金屬表面電動(dòng)針式打印和標(biāo)準(zhǔn)紙面激光打印三種。實(shí)驗(yàn)結(jié)果表明,程序?qū)鈩?dòng)式打印Data Matrix碼的識別能力普遍好于同樣是金屬材質(zhì)的電動(dòng)針式打印Data Matrix碼。不同尺寸的識別率基本相等。打印在紙上的標(biāo)準(zhǔn)Data Matrix由于圖形標(biāo)準(zhǔn)、顏色穩(wěn)定、分辨率高等因素?zé)o需作太多的圖像增強(qiáng)和膨脹就能夠被計(jì)算機(jī)識別,識別率非常高。?

參考文獻(xiàn)?

1 Matrox Imaging Library (MIL) version 7.0 Command Reference Manual no. 10512-701-0700?

2 Matrox Imaging Library (MIL) version 7.0 User Guide??Manual no. 10513-301-0700?

3 ISO/IEC 16022 Information technology -International symbology specification-Data matrix. First edition, 2000?

4 章毓秀. 圖像處理和分析. 北京: 清華大學(xué)出版社,1998?

5 Create a Data Matrix Symbol.? http://home.hiwaay.net/~csewell/CreateADMx.shtml?

6 二維碼技術(shù)簡介.http://www.newlandsoft.com.cn/infotech.?nsf/case?

7 產(chǎn)品自動(dòng)識別的二維條形碼技術(shù). http://www.barcode-china.com/docc/tdoc16.htm?

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。