EmguCV Image类中的函数(二)使用MorphologyEx进行更多的变换


MorphologyEx中所有的变换如下图所示

调用方法:

 

[csharp]  view plain  copy
 
 print?
  1. Mat aaa = CvInvoke.GetStructuringElement(Emgu.CV.CvEnum.ElementShape.Rectangle, new Size(5, 5), new Point(2, 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

返回图片为闭运算结果图与原图像之差,变换公式为:

效果图:(左图为原图)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM