摘要:以Meteor II Standard圖像采集卡為基礎(chǔ),以識別金屬零件上的Data Matrix二維碼為目的,對攝像頭采集的圖像進行處理。實現(xiàn)了該方法在工業(yè)流水線睥實時識別應(yīng)用。
二維碼是在平面二維方向上都記錄信息的符號。它充分利用了平面上的二維空間,大大提升了信息密度,使得在小面積上編碼大數(shù)據(jù)成為可能。其次由于它超強的糾錯能力,即使大面積受損也能被準(zhǔn)確識別。目前二維碼應(yīng)用于工業(yè)自動化、物流、郵政、醫(yī)療、商業(yè)、金融、交通運輸、身份識別、政府管理、公共安全、海關(guān)及國防等領(lǐng)域。在我國,二維碼的應(yīng)用尚屬起步階段,應(yīng)用地區(qū)和領(lǐng)域也相當(dāng)有限。但是可以預(yù)見,二維碼以其獨特的優(yōu)勢必將像條形碼一樣在我國的各個領(lǐng)域被推廣和應(yīng)用。
本文通過Matrox公司的圖像采集卡Meteor-II Standard,利用MIL函數(shù)庫對氣動打印在金屬零件上的Data Matrix二維碼進行了實時捕捉識別,并對采集來的Data Matrix圖像進行具體的圖像處理,命名其達(dá)到被識別的要求。最后,通過實驗討論提高識別率的方法。
圖1
1 Data Matrix概述
二維碼有多種類型,本文只討論矩陣式Data Matrix。
Data Matrix最大特點就是“小”,能在25mm2面積上編碼30個數(shù)字,因此被廣泛用于標(biāo)示集成電路、藥品等小件物品。另外在制造業(yè)的流水線生產(chǎn)過程中,打印生成Data Matrix也較容易。
如圖1所示,Data Matrix符號看起來像一個由深淺兩種顏色組成的國際象棋棋盤,每一個相同大小的黑色或白色方格稱為一個數(shù)據(jù)單位。Data Matrix符號由許多這樣的數(shù)據(jù)單位組成。在尋邊區(qū)外層有寬度為一個數(shù)據(jù)單位的靜區(qū)。尋邊區(qū)是“棋盤”的邊界,只用于定位和定義數(shù)字單位的大小,而不含 有任何編碼信息。被尋邊區(qū)包圍的數(shù)據(jù)區(qū)包含著編碼信息。矩陣中的0、1就是Data Matrix的黑白兩色小方格,即數(shù)據(jù)單位。
Data Matrix采用了Reed-Solomon交織交插編碼,編碼時加入了糾錯碼,使Data Matrix的糾錯性能比較強。以一個5位的流水號“12345”為例,通過編碼規(guī)則得到Data Matrix的3位碼字和5位糾錯碼,可糾錯2位碼字,糾錯率為2/8=25%。
2 用MIL識別Data Matrix碼
Meteor-II Standard是Matrox公司的一塊圖像采集卡,通過攝像頭采集外界圖像,然后實時地傳輸給主機內(nèi)存。MIL函數(shù)開發(fā)包是一個獨立于硬件的32位圖像處理函數(shù)庫,其中有大量基本的圖像處理函數(shù)。
2.1 基本過程
Data Matrix識別的基本過程如圖2所示。通過MIL提供的函數(shù)采集圖像,并將采集的圖像以數(shù)字化方式存儲在圖像緩沖區(qū)中;對圖像進行增強處理,提高圖像的識別準(zhǔn)確率。實驗中通過平滑濾波方法,減少圖像噪聲,很好地解決了采集金屬零件的Data Matrrix碼時,由于碼符號邊沿亮度過亮影響圖像分割問題;然后對圖像進行直方圖均衡化,擴大對比度的動態(tài)范圍,解決由于光照或攝像頭的原因,造成采集的圖像偏暗,對比度不夠顯著,引起圖像中明暗模糊不清的問題。
由于采集后的圖像有很多無用背景,Data Matrix符號所在區(qū)域只占整個圖像很上的比重。采用遮罩的方法,用一個固定位置的子緩沖區(qū)限制圖像處理區(qū)域,忽略區(qū)域外的圖像,實現(xiàn)Data Matrix的符號提取。最后用MIL函數(shù)直接譯碼,并將譯碼結(jié)果放在指定的字符串中,用顯示語句在屏幕上打印結(jié)果。
2.2 Data Matrix符號的膨賬
金屬零件上的Data Matrix碼是氣動打印而成的成點陣式,與標(biāo)準(zhǔn)的Data Matrix符號不完全一樣,其點間空隙大。如對這種碼毫無處理地進行識別,則識別率會很低。為了解決這個問題,采用數(shù)學(xué)形態(tài)學(xué)的膨脹算法。為了提高識別準(zhǔn)確度,可以將Data Matrix符號膨脹若干次,縮小數(shù)據(jù)單位之間的空隙。這樣,計算機在“尋找”Data Matrix的“L”型尋邊區(qū)時就容易準(zhǔn)確得多。
2.3 偽實時識別的實現(xiàn)
由于MIL本身不支持圖像的實時處理,所以要實現(xiàn)實時識別需要用一種叫做比緩沖的方法實現(xiàn)偽實時的圖像處理,CPU每次處理的圖像其實是攝像頭采集的上一幀圖像。
雙緩沖區(qū)使一邊采集圖像一邊處理圖像成為可能,如圖3所示。攝像頭將圖像采集到圖像緩沖區(qū)1中等待處理,與此同時CPU利用這段時間處理圖像緩沖區(qū)2中(上一幀)的圖像,完畢后兩個緩沖區(qū)的職能交換;CPU處理緩沖區(qū)1中采集的前一時刻的圖像,而此時緩沖區(qū)2中的圖像已被處理完畢,可以接收攝像頭下一幀的采集圖像。如此往復(fù),兩個緩沖區(qū)互換,不間斷地運動便可實現(xiàn)偽實時處理。在處理環(huán)節(jié)上加Data Matrix識別功能,就能實現(xiàn)實時識別Data Matrix。采集圖像和處理圖像正好相差一幀,所以是“偽”實時的,但是假如計算機運算速度足夠快,時間延遲的影響便可忽略。
這種方法的優(yōu)點是既實現(xiàn)了實時性,又將采集和處理這兩項進程分開,讓CPU和攝像頭分別獨立并行地處理,充分利用了空閑時間。
3 識別結(jié)果統(tǒng)計與分析
通過編程,實現(xiàn)了對金屬上的Data Matrix碼進行識別,并統(tǒng)計了總的采集幀數(shù)(f)、幀率(f/s)、識別成功的總幀數(shù)、識別率等信息。實驗證明在攝像頭焦距以及光源都相當(dāng)理想的情況下,識別率很高。
Data Matrix識別的成功率與很多因素有關(guān),首先是Data Matrix符號本身,打印在紙上與打印在金屬零件上的點陣式Data Matrix差異很大;其次是檢測時的運動失真,會影響識別成功率;再次是背景圖像的影響,Data Matrix符號與背景色反差越大,背景中干擾圖像越少,識別成功率越高;光源、符號的旋轉(zhuǎn)等都會對識別造成影響。
3.1 運動檢測的影響
Data Matrix檢測常用在流水線上,這時需要考慮攝像頭與被檢測零件相對運動對識別的影響。在實驗中用固定零件、移動攝像頭的方法來模擬流水線中的運動檢測,記錄每次檢測時攝像頭的運動速度,以此找出零件上的Data Matrix能夠被識別的最大相對運行速度。
現(xiàn)通過實驗測得20組數(shù)據(jù),以6mm×6mm的Data Matrix為考慮對象,結(jié)果如表1所示。
上結(jié)果,在光照和攝像頭焦理想的情況下,最大識別的相對速度為2.00cm/s,比該速度再快可能會因運動失真導(dǎo)致Data Matrix無法識別。
3.2 干擾圖像的影響
在相同條件下,背景干擾少的圖像識別率較高,尤其當(dāng)北京具有與Data Matrix類似矩形狀圖形時。在光照較好的條件下,測試金屬零件上的Data Matrix識別率。在有背景干擾的情況和用子緩沖區(qū)屏蔽一些背景干擾的情況各測得10組數(shù)據(jù),分別如表2所示。
表1 待測Data Matrix與攝像頭的相對運動對識別的影響
| 速度(cm/s) | 1.04 | 1.06 | 1.41 | 1.56 | 1.69 | 1.70 | 1.75 | 2.00 | 2.03 | 2.09 |
| 能否識別 | √ | √ | √ | √ | √ | √ | √ | √ | × | √ |
| 速度(cm/s) | 2.14 | 2.23 | 2.32 | 2.38 | 2.52 | 2.52 | 2.63 | 2.64 | 2.70 | 2.71 |
| 能否識別 | √ | √ | × | × | × | × | √ | × | × | × |
表2 背景干擾對識別的影響
| 有干擾 | 83% | 84% | 62% | 81% | 68% | 92% | 85% | 60% | 87% | 74% |
| 屏蔽干擾 | 97% | 88% | 87% | 84% | 92% | 90% | 99% | 83% | 85% | 90% |
可見,用于緩沖區(qū)屏蔽一些無用的背景圖像后,識別效果總體上要略好于未屏蔽。
3.3 光源的影響
光源對識別成功率的影響反映在圖像整體的明暗對比度上。對金屬零件上的Data Matrix而言,其更多的是影響符號的清晰程度。光源位置如果選取不得當(dāng),由于金屬的反光特性,金屬表面會形成一片亮度特別大的鏡面反射區(qū),給Data Matrix圖像造成強烈的干擾。
一種比較好的方法是用側(cè)光的方法。由于金屬零件上的Data Matrix碼是氣動打印產(chǎn)生的,打印處會有高低起伏,這些區(qū)域的反光是溫反射,不同于其他區(qū)域的鏡面反射光,側(cè)光助于把點陣與金屬反光的背景分開,將攝像頭避開了金屬的鏡面反光。圖4對比了側(cè)光和反射光下的二維碼狀態(tài)。
3.4 識別程序的適應(yīng)性
識別程序的適應(yīng)性指適應(yīng)不同尺寸和打印類型Data Matrix的能力。本文中考慮的打印類型有金屬表面氣動打印、金屬表面電動針式打印和標(biāo)準(zhǔn)紙面激光打印三種。實驗結(jié)果表明,程序?qū)鈩邮酱蛴ata Matrix碼的識別能力普遍好于同樣是金屬材質(zhì)的電動針式打印Data Matrix碼。不同尺寸的識別率基本相等。打印在紙上的標(biāo)準(zhǔn)Data Matrix由于圖形標(biāo)準(zhǔn)、顏色穩(wěn)定、分辨率高等因素?zé)o需作太多的圖像增強和膨脹就能夠被計算機識別,識別率非常高。
- Data(39071)
基于RK3576開發(fā)板的二維碼識別算法
858
基于TMS320DM642的CCD二維碼Data Matri
2103二維碼識別
二維碼軟件中制作Dot Code二維碼的步驟
HarmonyOS教程—基于AI的碼生成能力,實現(xiàn)二維碼生成與掃碼功能
LabVIEW如何編程識別多個二維碼,校準(zhǔn)位置和測量深度
Labview不能讀長方形Data Matrix二維碼嗎?
OpenHarmony應(yīng)用實現(xiàn)二維碼掃碼識別
VBAI中讀取data matrix二維碼自動計算參數(shù)
labview識別二維碼問題
【嘉楠堪智K230開發(fā)板試用體驗】+二維碼識別
分享一款二維碼掃描軟件
單片機顯示二維碼的原理及實現(xiàn)
在二維碼軟件中制作含GS1應(yīng)用標(biāo)識符的data Matrix二維碼的操作步驟
基于STM32的二維碼識別源碼+二維碼解碼庫lib
如何把基于myrio識別二維碼系統(tǒng)識別到的二維碼信息寫到pc端的txt文本里?
怎么在Framewin里顯示二維碼?
求 data matrix 二維碼 制作的方式
求助labview可以調(diào)用的掃碼二維碼的DLL文件,謝謝。
用stm32f103能否實現(xiàn)二維碼掃描功能
識別二維碼成功率不高的問題
請問怎么制作自己定義二維碼轉(zhuǎn)到PCB上面
天波智能云TPM300嵌入式二維碼讀頭
二維碼OCDMA通信系統(tǒng)的研究
15二維碼在醫(yī)療行業(yè)中的應(yīng)用
1461Xilinx為器件添加二維碼標(biāo)記
7910固定二維碼與變動二維碼防偽標(biāo)簽的作用
1二維碼技術(shù)的編譯規(guī)則分析
29注意了!二維碼支付存隱患:掃碼共享單車后丟失299元押金
2552
智能化訪客管理,二維碼在智能訪客機中的應(yīng)用
1316如何使用神經(jīng)網(wǎng)絡(luò)進行殘缺二維碼的識別算法詳細(xì)資料介紹
25如何將視頻轉(zhuǎn)換生成二維碼掃碼觀看
13550二維碼門禁系統(tǒng)的應(yīng)用實用性怎樣
1223立功科技嵌入式平臺“軟”實力——二維碼算法篇
1988
二維碼門禁系統(tǒng)是怎樣的工作原理
7320訪客的二維碼門禁是否足夠安全
1213二維碼在智能門禁中的應(yīng)用,二維碼門禁如何保證安全性
4583
詳解二維碼的安全與隱私保護機制
8063
NLS-EM25二維碼掃描模組形象,二維掃描模組適合哪些場所應(yīng)用
3103工業(yè)二維碼是什么,如何使用工業(yè)二維碼
5139工業(yè)二維碼掃碼槍的選擇需要考慮什么
2676讀取二維碼掃描設(shè)備有哪些類型
5190鴻蒙系統(tǒng)生成二維碼技術(shù)
3551單片機顯示二維碼
15使用OpenCV與微信二維碼引擎實現(xiàn)二維碼識別
5126QR二維碼解碼流程與使用方法
12299鴻蒙上生成專屬“二維碼”
2637二維碼掃描器,多樣化場景應(yīng)用
2201
二維碼讀碼器應(yīng)用無處不在 高速讀取二維碼和條形碼
1910
二維碼模組用途廣泛 精準(zhǔn)高效識別和讀取條碼、二維碼
2068
二維碼掃碼讀頭有什么功能?如何選擇二維碼讀頭?
2702
工業(yè)級二維碼掃碼器的產(chǎn)品特性及應(yīng)用領(lǐng)域
2577
什么是二維碼掃描模組模塊?售取票機上安裝二維碼掃碼模塊有什么作用?
2413
如何選購到性價比更高的二維碼識別掃描器?
1660
二維碼掃描模塊多少錢一臺?二維掃描模組價格?
2004
各類自助機嵌入二維碼模塊,以實現(xiàn)一維碼、二維碼掃描等功能
1767
二維碼掃碼模塊有哪些功能?二維條形碼讀取設(shè)備詳解
2784
二維碼掃描器模塊 嵌入式掃碼模塊價格
3471
遠(yuǎn)距離二維碼掃描器如何選擇?看看以下三款遠(yuǎn)距離二維碼掃碼模塊
1831
二維碼掃碼器/二維碼讀取設(shè)備嵌入園區(qū)閘機系統(tǒng)中的應(yīng)用
1065
二維碼識讀設(shè)備有哪些類型
1599
工業(yè)視覺在條碼/二維碼識別領(lǐng)域的應(yīng)用
1207
一“碼”當(dāng)先!看二維碼模組如何重塑智能門鎖掃碼體驗
880
二維碼讀取器是干嘛的
1049
二維影像掃描引擎在門禁二維碼刷卡梯控行業(yè)中的應(yīng)用
211
電子發(fā)燒友App


評論