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