伊文君
(北京中拓機(jī)械集團(tuán)有限責(zé)任公司,北京昌平 102208)
基于EMGU CV的外輪廓邊緣識別定位系統(tǒng)設(shè)計實(shí)現(xiàn)
伊文君
(北京中拓機(jī)械集團(tuán)有限責(zé)任公司,北京昌平 102208)
本文介紹了一種基于開放視覺圖形處理EMGU CV的外輪廓邊緣識別定位系統(tǒng)的實(shí)現(xiàn)方法,系統(tǒng)包含信號采集、信號放大、AD轉(zhuǎn)換、圖像平滑濾波,圖像二值化、邊緣識別及特征識別,其中信號采集部分應(yīng)用穿透式激光傳感器獲得輪廓數(shù)據(jù),邊緣識別部分應(yīng)用Canny算法獲得樣片的外輪廓邊緣特征,特征識別部分實(shí)現(xiàn)了圓及直線基本圖形元素的識別定位,系統(tǒng)具有采集速度快,識別精準(zhǔn)的特點(diǎn),具有廣泛的工業(yè)應(yīng)用前景。
EMGU CV Canny 邊緣識別 輪廓識別
隨著現(xiàn)代電子技術(shù)和計算機(jī)智能技術(shù)的發(fā)展,具有快速精確獲得目標(biāo)特征,識別定位目標(biāo)特性的智能系統(tǒng)廣泛被用于生產(chǎn)線自動化設(shè)備的控制和監(jiān)視,本文設(shè)計的外輪廓識別系統(tǒng)基于開放視覺圖形處理EMGU CV對采集到的數(shù)字?jǐn)?shù)據(jù)進(jìn)行圖像處理,實(shí)現(xiàn)了圓、直線等基礎(chǔ)特征元素的識別定位。本系統(tǒng)包含模擬信號采集,信號放大,AD轉(zhuǎn)換,數(shù)據(jù)平滑濾波,圖像二值化,邊緣識別,特征識別,如圖1所示。
本系統(tǒng)主要用于外輪廓識別,在配合一定機(jī)械運(yùn)動下信號獲取模塊可選取線陣、面陣CCD相機(jī)及激光辨別傳感器,線陣、面陣CCD相機(jī)可以一次性獲取完整的目標(biāo)圖像,具有測量圖像直觀的優(yōu)勢,缺點(diǎn)是對光源要求較高,采集到的灰度圖像在圖像二值化時非常容易丟失信息,且相同的光源條件一般只適用于一部分樣品,基于此,本文系統(tǒng)選取激光辨別傳感器,即穿透式激光辨別傳感器,該傳感器不需要額外的光源照明,其多波長激光使光束圖案強(qiáng)度分布均勻,高敏感度PD使其受外部因素造成的波動降到最低,可選多種檢測量程探頭,具有5um的超高再現(xiàn)性,80us的取樣速度,配備專用的顯示放大器,支持模擬電壓輸出。
AD轉(zhuǎn)換模塊本系統(tǒng)選取用于計算機(jī)的PCI數(shù)據(jù)采集卡,PCI總線數(shù)據(jù)采集卡可直接插在IBM-PC/AT或與之兼容的計算機(jī)內(nèi)的任一PCI插槽中,本文系統(tǒng)選取研華PCI-1716L 16位高精度模擬量輸出數(shù)據(jù)采集卡,采樣頻率可達(dá)250 KS/s,提供單端及差分模擬量輸入。
系統(tǒng)獲取的數(shù)據(jù)節(jié)點(diǎn)坐標(biāo)系為迪卡爾直角坐標(biāo)系,節(jié)點(diǎn)為(x,y),x、y為節(jié)點(diǎn)平面坐標(biāo),x、y坐標(biāo)值由激光辨別傳感器數(shù)據(jù)及機(jī)械運(yùn)行機(jī)構(gòu)反饋獲得,所有數(shù)據(jù)節(jié)點(diǎn)相連為一封閉輪廓,由于隨機(jī)噪聲及失真,在數(shù)據(jù)處理前需要進(jìn)行平滑濾波,平滑處理有五種不同的方法:簡單平均法,簡單無縮放的模糊,中值濾波,高斯濾波和雙邊濾波。本文的數(shù)據(jù)采集精度較高,數(shù)據(jù)采樣頻率高,噪聲少,采用簡單平均法,應(yīng)用5點(diǎn)簡單平均法,即每5點(diǎn)數(shù)據(jù)平均后輸出一點(diǎn)數(shù)據(jù)(Xo,Yo)。
系統(tǒng)應(yīng)用開放源代碼的計算機(jī)視覺類庫OpenCV(Intel Open Source Computer Vision Library)進(jìn)行圖像處理,OpenCV是一套可免費(fèi)獲得的由一些C函數(shù)和C++類所組成的庫,主要用于對圖像進(jìn)行一些高級處理,例如特征檢測與跟蹤、運(yùn)動分析、目標(biāo)分割與識別及3D重建等[1],由于系統(tǒng)在.Net 平臺下開放,應(yīng)用NET平臺下對OpenCV圖像處理庫的封裝Emgu CV[2]。
3.1圖像二值化
將數(shù)據(jù)節(jié)點(diǎn)(x0,y0),(x1,y1)…(xn,yn)繪制在1000*1000分辨率的Image<Gray, Byte>imageBuffer上,繪制顏色值為new MCvScalar(255,255,255),背景為new MCvScalar(0,0,0),實(shí)現(xiàn)數(shù)據(jù)圖像二值化。繪制測試樣品輪廓如圖2所示。此樣品的外輪廓為圓與直線線段3.2邊緣識別
組成。
邊緣檢測實(shí)際上是基于幅度不連續(xù)性進(jìn)行分割,也即檢測變化類型的局部特征,例如,灰度值的突變、顏色的突變、紋理的突變等。邊緣檢測的算法有很多,一般分為四類:經(jīng)典算子法、最優(yōu)算子法、多尺度方法、自適應(yīng)平滑濾波法等。Canny算子進(jìn)行邊緣檢測的方法屬于最優(yōu)算子法,是目前最有效的一種方法。Canny算法給定了最優(yōu)化檢測邊緣的三個指標(biāo):好的信噪比;好的邊緣定位性能;對唯一邊緣有唯一的響應(yīng)。具體算法如下:
步驟1:用高斯濾波器平滑圖像;
步驟2:邊緣點(diǎn)定位;
步驟3:用雙閾值算法檢測和連接邊緣[3]。
本文應(yīng)用EMGU CV中的方法Image<TColor, TDepth>Canny(TColor thresh, TColor threshLinking),方法中兩個參數(shù)為Canny算法中的閾值,比值在2:1至3:1之間。應(yīng)用方法處理樣品輪廓如下圖3所示。圖中可看到圓及直線線段組成的輪廓。
3.3特征識別
EMGU CV中提供圓與直線的識別方法,這兩個方法可做為進(jìn)一步圖像特征識別的基礎(chǔ),其中識別直線的方法為HoughLinesBinary,詳細(xì)定義如下:
LineSegment2D[][] HoughLinesBinary(double rhoResolution,double thetaResolution, int threshold, double minLineWidth, double gapBetweenLines)。
識別圓的方法為HoughCircles,詳細(xì)定義如下:
CircleF[][] HoughCircles(TColor cannyThreshold, TColor accumulatorThreshold, double dp, double minDist, int minRadius, int maxRadius);
應(yīng)用方法處理樣品輪廓定位基本圖像元素圓及直線,如下圖4所示。
本文構(gòu)建了一種外輪廓采集識別定位系統(tǒng),應(yīng)用穿透式激光傳感器獲得數(shù)據(jù),圖像平滑算法濾波,應(yīng)用EMGU CV 開源類庫完成了圓及直線基本圖形元素的識別定位,系統(tǒng)具有數(shù)據(jù)采集速度快,識別精準(zhǔn)的特點(diǎn),具有廣泛的工業(yè)應(yīng)用前景。
本課題是在北京市科學(xué)技術(shù)委員會的資助下,由北京中拓機(jī)械集團(tuán)有限責(zé)任公司和清華大學(xué)共同完成。
[1]A EX Z.Learning openCV—computer vision with the openCV library[J].IEEE Robotics and Automation Magazine,2009,16(3):100.
[2]王燕.基于Emgu CV的數(shù)字相機(jī)圖像采集[J].西安:電子科技,2012,25(4):31.
[3]劉江.組合機(jī)床與自動化加工技術(shù).組合機(jī)床與自動化加工技術(shù),大連:2013(5):28.
高速外延片PL譜掃描成像儀的研發(fā)培育(項(xiàng)目編號:Z141103003414004)。
伊文君(1980—),男,碩士研究生。研究方向:機(jī)電一體化。