EmguCV Image类中的函数使用MorphologyEx进行更多的变换
Posted 蒙蒙大川
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
返回图片为闭运算结果图与原图像之差,变换公式为:
效果图:(左图为原图)
以上是关于EmguCV Image类中的函数使用MorphologyEx进行更多的变换的主要内容,如果未能解决你的问题,请参考以下文章
C# EmguCV Image.setValue(...) 方法的 C++ OpenCV 等效项
OpenCv,EmguCv及.net之间的互动(The Interaction of OpenCv, EmguCv AND .net)