EmguCV Image類中的函式(二)使用MorphologyEx進行更多的變換
阿新 • • 發佈:2019-01-10
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
返回圖片為閉運算結果圖與原影象之差,變換公式為:
效果圖:(左圖為原圖)