图像的开,闭,顶帽,黑帽,形态学梯度的操作

相关API(morphologyEx)

对图像形态学操作的专用API
morphologyEx(src,dest,CV_MOP_BLACKHAT,kernel,int iteration)
{
Mat src ;输入图像
Mat dest ;输出结果
CV_MOP_BLACKHAT ;
}

开操作(open)

方法:

先腐蚀(erode)后膨胀(dilate)

作用:

当目标对象有小的噪点干扰时,可以通过该办法清楚干扰项

实例展示

原图是这样的
在这里插入图片描述
通过开操作后变成这样的
在这里插入图片描述
可以看出,通过开操作后,目标对像周围的干扰对象被显著降低,但目标对象不受影响,多说无益,直接上操作的代码

Mat kernel = getStructuringElement(MORPH_RECT, Size(9, 9), Point(-1, -1));
//获取结构元素,调整这里的Size就可以去掉不同大小的干扰,注意确保Size是奇数
morphologyEx(img, dst, MORPH_OPEN, kernel);//通过morphologyEx进行开操作,其中的MORPH_OPEN就是开操作
imshow("原图", img);
imshow("开操作后", dst);

闭操作(close)

方法:

先膨胀(dilate)后腐蚀(erode)

作用:

可以填充影响主要对象的小洞(fill hole)

实例展示

原图如下
在这里插入图片描述
闭操作后图如下
在这里插入图片描述

代码

Mat kernel = getStructuringElement(MORPH_RECT, Size(9, 9), Point(-1, -1));
//获取结构元素
	morphologyEx(img, dst, MORPH_CLOSE, kernel);
	//通过morphologyEx进行操作,其中的MORPH_CLOSE就是闭操作
	imshow("原图", img);
	imshow("闭操作后", dst);

顶帽(tophat)

作用

原图像与开操作的差值图像,换句话说说,就是获取开操作去掉的目标

实例展示

原图:
在这里插入图片描述
顶帽后:
在这里插入图片描述

黑帽(blackhat)

作用

原图像与闭操作后的差值图像,简而言之,就是提取闭操作填补的洞的图像

实例演示

原图像:
在这里插入图片描述
黑帽后:
在这里插入图片描述

代码

Mat kernel = getStructuringElement(MORPH_RECT, Size(9, 9), Point(-1, -1));
	morphologyEx(img, dst, MORPH_BLACKHAT, kernel);//黑帽
	imshow("原图", img);
	imshow("黑帽", dst);

形态学梯度(基本梯度)

实现

膨胀操作后图像减去腐蚀后图像

实例演示

操作之前:
在这里插入图片描述
基本梯度:
在这里插入图片描述

代码

Mat  kernel = getStructuringElement(MORPH_RECT, Size(11, 11), Point(-1, -1));
	morphologyEx(img, dst, MORPH_GRADIENT, kernel);//形态学梯度
	imshow("原图", img);
	imshow("基本梯度", dst);

补充

博主也是刚刚接触opencv对于形态学梯度的其他具体用法,日后再做具体补充

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进屋先抖雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值