熱線電話:0755-23712116
郵箱:contact@shuangyi-tech.com
地址:深圳市寶安區(qū)沙井街道后亭茅洲山工業(yè)園工業(yè)大廈全至科技創(chuàng)新園科創(chuàng)大廈2層2A
Data Matrix 二維條碼原名Datacode,由美國國際資料公司(International Data Matrix,簡稱ID Matrix)於1989年發(fā)明。Data-Matrix二維條碼是一種矩陣式二維條碼,其發(fā)展的構(gòu)想是希望在較小的條碼標簽上存入更多的資料量。Data Matrix二維條碼的最小尺寸是目前所有條碼中最小的,尤其特別適用於小零件的標識,以及直接印刷在實體上。
Data Matrix 二維條碼又可分為ECC000-140與ECC200兩種類型,ECC000-140具有多種不同等級的錯誤糾正功能,而ECC200則透過Reed-Solomon演算法產(chǎn)生多項式計算出錯誤糾正碼,其尺寸可以依需求印成不同大小,但采用的錯誤糾正碼應與尺寸配合,由於其演算法較為容易,且尺寸較有彈性,故一般以ECC200較為普遍,本節(jié)也僅介紹ECC200規(guī)格的Data Matrix二維條碼碼,以下所說的Data- Matrix二維條碼事實上都是指ECC200而言。
如圖所示,Data Matrix二維條碼的外觀是一個由許多小方格所組成的正方形或長方形符號,其資訊的儲存是以淺色與深色方格的排列組合,以二位元碼(Binary-code)方式來編碼,故電腦可直接讀取其資料內(nèi)容,而不需要如傳統(tǒng)一維條碼的符號對映表(Character Look-up Table)。深色代表 “1”,淺色代表 “0”,再利用成串(String)的淺色與深色方格來描述特殊的字元資訊,這些字串再列成一個完成的矩陣式碼,形成DataMatrix二維條碼碼,再以不同的印表機印在不同材質(zhì)表面上。由於Data Matrix二維條碼只需要讀取資料的20%即可精確辨讀,因此很適合應用在條碼容易受損的場所,例如印在暴露於高熱、化學清潔劑、機械剝蝕等特殊環(huán)境的零件上。
Data Matrix二維條碼的尺寸可任意調(diào)整,最大可到14平方英寸,最小可到0.0002平方英寸,這個尺寸也是目前一維與二維條碼中最小的,因此特別適合印在電路板的零組件上。另一方面,大多數(shù)的條碼的大小與編入的資料量有絕對的關(guān)系,但是Data Matrix二維條碼的尺寸與其編入的資料量卻是相互獨立的,因此它的尺寸比較有彈性。 此外,DataMatrix二維條碼最大儲存量為2,000bytes,自動糾正錯誤的能力較低,只適用特別的CCD掃瞄器來解讀。
(一) 特性
Data Matrix二維條碼碼具有以下特性:
可編碼字元集包括全部的ASCII字元及擴充ASCII字元,共256個字元?!?/p>
條碼大小(不包括空白區(qū)):10×10 ~ 144×144
資料容量:235個文數(shù)字資料,1556個8位元資料,3116個數(shù)字資料?!?/p>
錯誤糾正:透過Reed-Solomon演算法產(chǎn)生多項式計算獲得錯誤糾正碼。不同尺寸宜采用不同數(shù)量的錯誤糾正碼。
(二 )基本結(jié)構(gòu)
每個Data Matrix二維條碼符號由規(guī)則排列的方形模組構(gòu)成的資料區(qū)組成,資料區(qū)的四周由定位圖形(Finder Pattern)所包圍,定位圖形的四周則由空白區(qū)包圍,資料區(qū)再以排位圖形(Alignment Patterns)加以分隔。
定位圖形
定位圖形是資料區(qū)域的一個周界,為一個模組寬度。其中兩條鄰邊為暗實線,主要用於限定物理尺寸;定位和符號失真。另兩條鄰邊由交替的深色和淺色模組組成,主要用於限定符號的單元結(jié)構(gòu),但也能幫助確定物理尺寸及失真?!?/p>
符號尺寸
ECC000-140符號有奇數(shù)行與奇數(shù)列。符號外觀為一方形矩陣,尺寸從9×9至49×49,不包括空白區(qū)。這些符號可透過右上角深色方格識別出來。
ECC200符號有偶數(shù)行與偶數(shù)列。有些符號是正方形,尺寸從10×10至144×144,不包括空白區(qū)。有些是長方形,尺寸從8×18至16×48,不包括空白區(qū)。所有的ECC200符號都可以透過右上角淺色方格識別出來。
資料表示方法
Data Matrix二維條碼按以下步驟來表示資料:
資料編碼
先分析要表示的資料,選取合適的編碼方案,按所選定的方案將資料流轉(zhuǎn)為字碼流,并加入必要的填字,如果使用者未規(guī)定矩陣寸,則應選取能滿足要存放資料的最小尺寸。DataMatrix二維條碼共有6種編碼方案,即6種字碼集,見表10.1。
Data Matrix二維條碼的編碼方案與相對應之字元集
編碼方案 | 字元集 |
ASCII | 十進位數(shù)字 ASCII值0~127 擴展ASCII值128~255 |
C40 | |
Text | 基本小寫文數(shù)字型 |
EDIFACT | 32~94 |
Base256 | 0~255 |
X12 | ANSI X12 EDI數(shù)據(jù)集 |
錯誤檢測和糾正字碼(ECC)的產(chǎn)生
對少於255個字碼的Data Matrix二維條碼,錯誤糾正字碼可由資料字碼計算得出。對於多於255個字碼的符號,應將資料字碼分成多個模組,然後再產(chǎn)生每一個模組的錯誤糾正字碼。錯誤糾正字碼能夠糾正兩種類誤字碼,包括E錯誤(已知位置上的錯誤字碼),以及T錯誤(未知位置上的錯誤字碼)。換句話說,E錯誤是不能被掃瞄或不能被解碼的符號字元,T錯誤則是被錯誤解碼的符號字元。
圖像處理上的預處理:
對圖像進行增強處理,提高圖像的識別準確率。實驗中通過平滑濾波方法,減少圖像噪聲,很好地解決了采集金屬零件的DataMatrrix碼時,由于碼符號邊沿亮度過亮影響圖像分割問題;然后對圖像進行直方圖均衡化,擴大對比度的動態(tài)范圍,解決由于光照或攝像頭的原因,造成采集的圖像偏暗,對比度不夠顯著,引起圖像中明暗模糊不清的問題。
由于采集后的圖像有很多無用背景,DataMatrix符號所在區(qū)域只占整個圖像很上的比重。采用遮罩的方法,用一個固定位置的子緩沖區(qū)限制圖像處理區(qū)域,忽略區(qū)域外的圖像,實現(xiàn)DataMatrix的符號提取。最后用函數(shù)直接譯碼,并將譯碼結(jié)果放在指定的字符串中,用顯示語句在屏幕上打印結(jié)果。
金屬零件上的DataMatrix碼是氣動打印而成的成點陣式,與標準的DataMatrix符號不完全一樣,其點間空隙大。如對這種碼毫無處理地進行識別,則識別率會很低。為了解決這個問題,采用數(shù)學形態(tài)學的膨脹算法。為了提高識別準確度,可以將DataMatrix符號膨脹若干次,縮小數(shù)據(jù)單位之間的空隙。這樣,計算機在“尋找”DataMatrix的“L”型尋邊區(qū)時就容易準確得多。
Data Matrix(DM)編碼規(guī)則
如圖2所示,DM碼的符號結(jié)構(gòu)由尋邊區(qū)和數(shù)據(jù)區(qū)組成。其中,尋邊區(qū)包括L型的實心邊界(圖2(b))和反L型的虛線邊界(圖2(c))。在尋邊區(qū)外層有寬度為一個數(shù)據(jù)單位的靜區(qū)。尋邊區(qū)是DM二維條碼的邊界,主要用于限定DM碼的物理尺寸,定位和符號失真。反L型的虛線邊界同樣主要用于限定符號的單元結(jié)構(gòu),但也能幫助確定物理尺寸及失真。圖2(d)所示的數(shù)據(jù)區(qū)則包含著編碼信息,是對待編碼的符號,包括數(shù)字、字母和漢字等按照一定的編碼規(guī)則生成。DM碼由黑白兩種顏色組成的點陣組合,每一個相同大小的黑色或白色方格稱為一個數(shù)據(jù)單位,分別代表二進制的0和1。圖2(e)是結(jié)構(gòu)連接的DM碼,中間一個黑白交替的十字型稱為鐵路線,在取樣時需要利用,以提高識別率。