1. 程式人生 > >EmguCV Image類中的函式(二)使用MorphologyEx進行更多的變換

EmguCV Image類中的函式(二)使用MorphologyEx進行更多的變換

MorphologyEx中所有的變換如下圖所示


呼叫方法:

Mat aaa = CvInvoke.GetStructuringElement(Emgu.CV.CvEnum.ElementShape.Rectangle, new Size(5, 5), new Point(2, 2));
            imageBox1.Image = a.MorphologyEx(Emgu.CV.CvEnum.MorphOp.Tophat, aaa, new Point(1, 1),1, Emgu.CV.CvEnum.BorderType.Default, new MCvScalar(255, 0, 0, 255));

其中,上面那個Mat類是用來定義核心的大小和形狀,一般情況Size裡的值為Point裡對應的是的兩倍加1

1、Open

開運算是對影象先腐蝕再膨脹,可以排除小團的物體轉換公式為:


效果圖:(左圖為原圖)


2.Close

閉運算是對影象先膨脹再腐蝕,可以排除小型黑洞,變換的公式:


效果圖:(左圖為原圖)


3、Gradient

返回圖片為膨脹圖與腐蝕圖之差,可以保留物體的邊緣輪廓,變換公式為:


效果圖:(左圖為原圖)


4、TopHat

返回影象為原影象與開運算結果圖之差,變換公式:


效果圖:(左圖為原圖)


5、BlackHat

返回圖片為閉運算結果圖與原影象之差,變換公式為:


效果圖:(左圖為原圖)