• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      圖像處理在平面零件分揀控制中的應(yīng)用

      2015-06-26 10:22:08江燕王敬東
      電氣傳動(dòng) 2015年2期
      關(guān)鍵詞:孔洞質(zhì)心像素點(diǎn)

      江燕,王敬東

      (1.應(yīng)天職業(yè)技術(shù)學(xué)院 機(jī)電與信息工程系,江蘇南京210033;2.南京航空航天大學(xué)自動(dòng)化學(xué)院,江蘇南京210016)

      1 引言

      隨著計(jì)算機(jī)技術(shù)及應(yīng)用的飛速發(fā)展,PLC的應(yīng)用越來越廣泛。PLC有很強(qiáng)的現(xiàn)場控制能力,廣泛應(yīng)用于工業(yè)生產(chǎn)線,配合各類傳感器可以檢測出零件的材質(zhì)和大小,并對(duì)零件進(jìn)行分類。但因其沒有視覺,對(duì)這類材質(zhì)相同且外形相似的零件,PLC 表現(xiàn)出力不從心。PLC 本身沒有視覺,也無法對(duì)圖像進(jìn)行匹配和識(shí)別。但是如果PLC能借助于Matlab強(qiáng)大的圖像處理能力,對(duì)PLC控制系統(tǒng)是錦上添花。簡言之,如果能將兩者結(jié)合起來應(yīng)用于生產(chǎn)實(shí)際中,那么可以充分發(fā)揮各自的優(yōu)勢,對(duì)實(shí)際被控過程進(jìn)行更好地控制。提高企業(yè)的生產(chǎn)效率和企業(yè)的核心競爭力,為企業(yè)帶來可觀的經(jīng)濟(jì)效益。

      2 主要算法

      本文總體設(shè)計(jì)思路:系統(tǒng)初始化后,PLC 控制傳送運(yùn)行,待零件已到攝像頭下,PLC 控制傳送帶暫停;Matlab 收到零件到位信息,啟動(dòng)攝像頭拍照,并將圖像與樣本圖像進(jìn)行匹配識(shí)別,然后將識(shí)別結(jié)果發(fā)送給MCGS;MCGS 收到信息后,PLC 控制傳送帶運(yùn)行,根據(jù)PLC 識(shí)別結(jié)果信息,控制相應(yīng)的電磁閥驅(qū)動(dòng)氣缸動(dòng)作,將零件推入分類槽,結(jié)束本工作周期任務(wù),PLC 控制傳送帶運(yùn)行,等待下個(gè)零件的到來。其中主要的研究內(nèi)容是Matlab的圖像處理、DDE通道建立和PLC分揀控制算法。

      2.1 圖像處理算法

      本文利用Matlab 的圖像處理功能,獲取待檢零件圖像,并完成待檢零件圖像與樣本庫零件圖像的一一比對(duì),繼而得出識(shí)別結(jié)果。如果樣本庫中有與之匹配的圖像,則返回該樣本庫零件的編號(hào);如果樣本庫中無與之匹配的圖像,則認(rèn)為該待檢零件為廢品,返回廢品標(biāo)志。借助Windows 操作系統(tǒng)提供的VFW 庫函數(shù)控制USB 攝像頭獲取零件圖像后,具體的圖像處理有如下4個(gè)方面。

      1)利用rgb2gray函數(shù)[1]獲得零件圖像的灰度圖,再利用histeq 函數(shù)獲得零件圖像的均衡化直方圖,統(tǒng)計(jì)均衡化直方圖中的“1”的個(gè)數(shù)(用a 表示),與樣本庫零件圖像的均衡化直方圖中的“1”的個(gè)數(shù)(用b表示)的比值為

      若L很接近1,表示待檢圖與樣本圖有著極相似的均衡化直方圖,然而我們知道,每幅圖都有一個(gè)跟它對(duì)應(yīng)的直方圖(如圖1 所示),但是不同圖的直方圖有可能是一樣的(如圖2所示)。即L很接近1不是兩圖像一致的充分條件[2],而只是必要條件。如果待檢零件先與樣本庫圖像計(jì)算L 值,將L值最接近1的那個(gè)樣本圖作為準(zhǔn)匹配圖,那么才鎖定該樣本圖進(jìn)行更深入的比較。這樣可以大大減少待測圖像與樣本庫圖像的比對(duì)和匹配時(shí)間,尤其是樣本庫零件數(shù)量較多的情況。

      圖2 有相同灰度圖的不同圖像Fig.2 Different images of the same image

      2)為了去除或降低光照等干擾因素對(duì)零件圖像質(zhì)量的影響,對(duì)待檢零件圖進(jìn)行預(yù)處理[3],得到比較清晰,準(zhǔn)確的零件邊緣,防止由于這些干擾因素的存在而導(dǎo)致誤判。

      利用Matlab對(duì)待檢零件圖進(jìn)行邊緣提?。?]、膨脹、細(xì)化、去毛刺等預(yù)處理,得到比較清晰,準(zhǔn)確的零件邊緣。如圖3所示。

      圖3 零件圖像預(yù)處理Fig.3 Parts image preprocessing

      3)通過bwlabel 函數(shù)對(duì)零件圖像進(jìn)行區(qū)域標(biāo)記[4],統(tǒng)計(jì)出孔洞個(gè)數(shù),如果待檢零件孔洞數(shù)與準(zhǔn)樣本一致,再利用sum 函數(shù)計(jì)算標(biāo)記為1 的區(qū)域(標(biāo)記1 為最大的區(qū)域)中像素點(diǎn)的個(gè)數(shù),如果最長邊緣像素點(diǎn)數(shù)也很接近,可以認(rèn)為待檢零件和準(zhǔn)樣本零件有很相似的外輪廓。

      bwlabel函數(shù)的調(diào)用格式如下:

      [L,num]=bwlabel(BW,n)

      其中,返回一個(gè)和BW大小相同的L矩陣,包含了標(biāo)記了BW 中每個(gè)連通區(qū)域的類別標(biāo)簽,這些標(biāo)簽的值為1,2,num(連通區(qū)域的個(gè)數(shù))。n的值為4 或8,表示是按4 連通尋找區(qū)域,還是8 連通尋找,默認(rèn)為8[5]。num返回的就是BW中連通區(qū)域的個(gè)數(shù)。如分別利用4連通、8連通對(duì)矩陣a進(jìn)行標(biāo)記,標(biāo)記結(jié)果如圖4 所示。用4 連通標(biāo)記中,把2個(gè)孔洞當(dāng)5個(gè)標(biāo)記了;用8連通標(biāo)記中,正確的標(biāo)記為2個(gè)孔洞。由于要檢測的是零件孔洞的個(gè)數(shù),因而應(yīng)該用8 連通來標(biāo)記區(qū)域。用8 連通標(biāo)記零件區(qū)域的效果如表1所列。從表1中可發(fā)現(xiàn),8連通標(biāo)記的正確率很高。6個(gè)測試零件孔洞的標(biāo)記都正確無誤。

      圖4 圖像矩陣的連通標(biāo)記Fig.4 Image matrix of connected component labeling

      表1 零件孔洞個(gè)數(shù)的標(biāo)記Tab.1 The mark hole number of parts

      4)通過統(tǒng)計(jì)零件邊緣的總像素點(diǎn)來判斷其內(nèi)部空洞的形狀。由于圖像邊緣圖像為二值圖像,“0”為背景,“1”為邊緣像素點(diǎn),因而可以利用sum 函數(shù)統(tǒng)計(jì)“1”(邊緣像素點(diǎn))的個(gè)數(shù)。如果待檢零件邊緣像素點(diǎn)與準(zhǔn)樣本零件相等或很接近,則可以認(rèn)為它們空洞形狀很相似。

      5)通過上面的比對(duì),已經(jīng)能確定待檢零件與準(zhǔn)樣本有著很相似的外輪廓和相同數(shù)目的空洞。但是還不能確定各個(gè)空洞的位置是否一致。可以通過mean函數(shù)求取零件各個(gè)標(biāo)記的區(qū)域的質(zhì)心坐標(biāo)[6],但是由于圖像有可能存在位移或旋轉(zhuǎn),這些都會(huì)導(dǎo)致質(zhì)心坐標(biāo)的變化,所以用比對(duì)兩幅圖質(zhì)心的坐標(biāo)來判斷是否為相同零件是不可行的。如果通過計(jì)算各個(gè)區(qū)域質(zhì)心之間的距離值與準(zhǔn)樣本零件的很接近,那么則認(rèn)為待檢零件確實(shí)與該準(zhǔn)樣本零件是同一種零件。

      在Matlab命令窗口輸入以下代碼,可獲得零件圖像的各個(gè)孔洞的質(zhì)心,如圖5所示。

      i1=im2bw(i);

      g=~i1;

      [L,num]=bwlabel(g,8);

      for i=1:num

      [r,c]=find(L==i);

      rchar=mean(r);

      cchar=mean(c);

      R(1,i)=rchar;

      C(1,i)=cchar;

      end

      圖5 測試圖形及質(zhì)心坐標(biāo)Fig.5 The test pattern and the centroid coordinates

      有了各質(zhì)心的坐標(biāo),就可以用兩點(diǎn)的距離公式來計(jì)算任意2個(gè)質(zhì)心的距離。

      設(shè)A(x1,y1),B(x2,y2),則A,B兩點(diǎn)的距離為

      取兩幅空洞個(gè)數(shù)相同,且空洞形狀相同但相對(duì)位置有差別的測試圖形,得到的對(duì)比數(shù)據(jù)如表2所示。

      表2 測試圖形的質(zhì)心距離Tab.2 The centroid distance of test pattern

      從表2 可以發(fā)現(xiàn)空洞的位置變化,計(jì)算出來的質(zhì)心位置和各質(zhì)心距離存在較大差別,因此,如果待檢零件的各質(zhì)心的距離矩陣存在著差別,那么說明零件各孔洞位置存在不完全一致的情況。而如果待檢零件的各質(zhì)心的距離矩陣一致或存在微小的差別,就可以斷定待檢零件與準(zhǔn)樣本零件是同一種零件。

      2.2 DDE通道建立

      DDE(dynamic data exchange,DDE)是一種動(dòng)態(tài)數(shù)據(jù)交換機(jī)制,可完成兩個(gè)應(yīng)用程序之間的數(shù)據(jù)交換。本文利用DDE 實(shí)現(xiàn)分揀系統(tǒng)中Matlab 與PLC 的數(shù)據(jù)通信。PLC 通過DDE 發(fā)送“零件到位”信息給Matlab;Matlab 則將圖像處理結(jié)果“1”,“2”,“3”,“4”發(fā)送給PLC,實(shí)時(shí)完成待檢零件的分揀任務(wù)。

      Matlab 與PLC 的DDE 通信,實(shí)質(zhì)是Matlab與excel,MCGS 與excel,MCGS 與PLC 之間的數(shù)據(jù)交換。具體的設(shè)置有以下幾方面。

      1)新建excel 表單,在sheet1 中R1C1,R1C3對(duì)應(yīng)MCGS 輸出的數(shù)據(jù)data1,data3;R1C2 對(duì)應(yīng)MCGS輸入的數(shù)據(jù)data2。給R1C1,R1C3分別輸入“ =McGsRun|DataCentre!data1”和“ =McGs-Run|DataCentre!data3”。如圖6所示。

      圖6 excel表單數(shù)據(jù)區(qū)域的設(shè)置Fig.6 Set up region of excel form data

      2)新建MCGS 工程,建立3 個(gè)數(shù)值變量:data1,data2和data3,data1和data3為DDE輸出;data2 為DDE 輸入[7]。另外為了觀察方便,新建一個(gè)用戶窗口(命名為“窗口0”),建立3 個(gè)數(shù)據(jù)輸出框,用于顯示data1,data2,data3。如圖7所示。

      圖7 MCGS數(shù)據(jù)變量的建立Fig.7 Set variable data of MCGS

      3)新建Matlab 的M 文件程序(命名為“ddee.m”),程序語句如下所示。

      z=34;

      chann=ddeinit('excel','sheet1')

      %與excel就sheet1創(chuàng)建對(duì)話通道chann[8]

      rc=ddepoke(chann,'r1c2',z)

      %通過對(duì)話通道chann,將34寫給R1C2

      r1=ddereq(chann,'r1c1')

      %通過對(duì)話通道chann,讀取R1C1數(shù)據(jù)給r1

      r2=ddereq(chann,'r1c3')

      %通過對(duì)話通道chann,讀取R1C3數(shù)據(jù)并賦給r2

      4)建立DDE 數(shù)據(jù)連接。打開excel 文檔;運(yùn)行MCGS 的窗口0,并給data1 和data3 賦值;在Matlab 下運(yùn)行“ddee.m”文件??捎^察到,Matlab成功接收MCGS 的data1(=5)和data3(=1)值,MCGS 的data2 的值也更新為Matlab 所發(fā)送的數(shù)值(z=34)。如圖8 所示。可見DDE 數(shù)據(jù)交換通信正常。通過DDE數(shù)據(jù)通道,PLC可將data1(系統(tǒng)啟動(dòng)信息)和data3(零件到位信息)發(fā)送給Matlab,而Matlab可將識(shí)別結(jié)果z發(fā)送給PLC。完成數(shù)據(jù)的實(shí)時(shí)更新。

      圖8 DDE下的數(shù)據(jù)交換Fig.8 Data exchange by using DDE

      2.3 分揀控制算法

      本文采用PLC完成零件的傳輸、定位和分揀動(dòng)作控制。PLC 的控制思路:系統(tǒng)初始化后,啟動(dòng)電機(jī),傳送帶運(yùn)行,當(dāng)檢測到有零件到達(dá)攝像機(jī)正下方時(shí),電機(jī)立即停止,同時(shí)令零件到位標(biāo)志為1;延時(shí)2 s(等待拍照和圖像處理)后,讀取圖像處理結(jié)果,如果收到的“1”或“2”或“3”或“4”或“5”,代表“1#零件”或“2#零件”或“3#零件”或“廢品”或“未處理完”,PLC 驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn)將零件運(yùn)至“1#槽”或“2#槽”或“3#槽”處,驅(qū)動(dòng)“1#氣缸”或“2#氣缸”或“3#氣缸”動(dòng)作;如果收到的是“4”,則代表是廢品,PLC 啟動(dòng)電機(jī)將其運(yùn)至傳送帶盡頭,使其掉落廢品筐中。

      3 識(shí)別效果

      經(jīng)過多次的測試,測試數(shù)據(jù)如表3 所示。從統(tǒng)計(jì)的數(shù)據(jù)看,該識(shí)別方法誤判率很低,據(jù)有限數(shù)據(jù)統(tǒng)計(jì)表明,誤判率約為0.16%,即分揀正確率約為99.84%,效果很好。

      表3 測試數(shù)據(jù)統(tǒng)計(jì)Tab.3 Test statistics

      4 結(jié)論

      本文主要介紹借助DDE 技術(shù)將Matlab 圖像處理技術(shù)應(yīng)用于平面零件的分揀控制系統(tǒng),實(shí)現(xiàn)結(jié)構(gòu)復(fù)雜且材質(zhì)相同的零件的識(shí)別和分揀控制。本系統(tǒng)分揀正確率不小于99.8%,零件分揀準(zhǔn)確可靠、抗干擾能力強(qiáng)、維護(hù)簡單方便;在平面類零件分揀控制設(shè)計(jì)中,有一定的實(shí)際應(yīng)用價(jià)值。

      [1]岡薩雷斯.數(shù)字圖像處理(MATLAB 版)[M].北京:電子工業(yè)出版社,2007.

      [2]Poggio T,Voorhees H,Yuille A.Regularized Solution to Edge Detection[J].J.Complexity,1988(4):106-123.

      [3]Oliveira P R,Roseli R A F.Improvements on ICA Mixture Models for Image Pre-processing and Segmentation[J].Neurocomputing,2008,71(10):2180-2193.

      [4]Nalwa V S,Binford T O.On Detecting Edges[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):699-714.

      [5]王鄭耀.數(shù)字圖像的邊緣檢測[M].西安:西安交通大學(xué)出版社,2003.

      [6]李志軍,傅蓉浣.應(yīng)用于機(jī)器視覺的圖像自動(dòng)比對(duì)算法研究[J].機(jī)電工程,2009(7):53-56.

      [7]郁漢琪,盛黨紅.電氣控制技術(shù)與可編程控制器應(yīng)用[M].南京:東南大學(xué)出版社,2003.

      [8]張志涌.精通MATLAB 6.5 版[M].北京:北京航天航空大學(xué)出版社,2009.

      猜你喜歡
      孔洞質(zhì)心像素點(diǎn)
      重型半掛汽車質(zhì)量與質(zhì)心位置估計(jì)
      基于GNSS測量的天宮二號(hào)質(zhì)心確定
      一種面向孔洞修復(fù)的三角網(wǎng)格復(fù)雜孔洞分割方法
      孔洞加工工藝的概述及鑒定要點(diǎn)簡析
      收藏界(2019年3期)2019-10-10 03:16:22
      基于canvas的前端數(shù)據(jù)加密
      基于逐像素點(diǎn)深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
      玻璃漿料鍵合中的孔洞抑制和微復(fù)合調(diào)控
      基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
      沖擊加載下孔洞形成微射流的最大侵徹深度
      一種海洋測高衛(wèi)星質(zhì)心在軌估計(jì)算法
      航天器工程(2014年5期)2014-03-11 16:35:53
      页游| 承德县| 长武县| 苗栗市| 永新县| 恩施市| 宁津县| 桦甸市| 马公市| 台前县| 承德市| 乌鲁木齐县| 海南省| 河津市| 修武县| 土默特右旗| 靖江市| 浮山县| 双流县| 工布江达县| 新建县| 鄂托克旗| 霍山县| 沧源| 大姚县| 兴宁市| 闻喜县| 嘉禾县| 庆城县| 镶黄旗| 淅川县| 津南区| 青岛市| 临安市| 三明市| 习水县| 宁津县| 广州市| 武川县| 安多县| 夏津县|