C# OpenCvSharp 形态学处理效果

 

目录

1、腐蚀

2、膨胀

3、开运算

4、闭运算

5、梯度运算

6、顶帽运算

7、黑帽运算

代码


1、腐蚀

腐蚀操作可以让图像沿着自己的边界向内收缩。

图片

2、膨胀

膨胀操作与腐蚀操作正好相反,让图像沿着自己的边界向外扩张。

图片

3、开运算

开运算就是先腐蚀再膨胀,可以用来抹除图像外部的细节或者噪音。

图片

4、闭运算

闭运算就是先膨胀再腐蚀,可以用来抹除图像内部的细节或者噪音。

图片

5、梯度运算

梯度运算的过程是让原图的膨胀图像减去原图的腐蚀图像,因为膨胀图比原图大,腐蚀图比原图小,利用腐蚀图将膨胀图像掏空,就得到了原图的轮廓图像。

图片

6、顶帽运算

顶帽运算就是让原图减去原图的开运算图像,开运算会抹除图像的外部细节,“有外部细节”的图像减去“无外部细节”的图像,得到的结果就只剩外部细节了。

图片

7、黑帽运算

黑帽运算就是让原图的闭运算图像减去原图,闭运算会抹除图像的内部细节,“无外部细节”的图像减去“有内部细节”的图像,得到的结果就剩内部细节了。

图片

代码

Mat src = Cv2.ImRead("test.jpg");
Mat element = Cv2.GetStructuringElement(MorphShapes.Rect, new OpenCvSharp.Size(3, 3));

Mat dst = new Mat();

// 腐蚀
Mat erodedImage = new Mat();
Cv2.Erode(src, erodedImage, element);

// 膨胀
Mat dilatedImage = new Mat();
Cv2.Dilate(src, dilatedImage, element);

// 开运算
Cv2.MorphologyEx(src, dst, MorphTypes.Open, element);

// 闭运算
Cv2.MorphologyEx(src, dst, MorphTypes.Close, element);

// 顶帽运算
Cv2.MorphologyEx(src, dst, MorphTypes.TopHat, element);

// 黑帽运算
Cv2.MorphologyEx(src, dst, MorphTypes.BlackHat, element);

// 梯度运算
Cv2.MorphologyEx(src, dst, MorphTypes.Gradient, element);

引入地址 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值