OpenCV10---形态学操作(开、闭、梯度、顶帽、黑帽)

十、形态学操作

相关APImorphology(原图像,处理后图像,形态学操作类型,结构元素(kernel));

Mat kernel = getStructuringElement(MORPH_RECT, Size(5,5), Point(-1, -1));//获取结构化参数,第一个参数为传入的模板类型,RECT为矩形;第二个参数为模板的大小;第三个参数为锚点的坐标,(-1,-1)代表是模板的中心
morphology(原图像,处理后图像,形态学操作类型,结构元素);

1、开操作(open)

  • 先腐蚀后膨胀
  • 可以去掉小的白色对象,保证大的白色部分不变。假设对象是白色,背景是黑色。
morphologyEx(src, dst, MORPH_OPEN, kernel);//开操作,第一个参数为原图像,第二个参数为操作后图像,第三个参数为执行操作类型,第四个参数为模板类型

在这里插入图片描述

2、闭操作(close)

  • 先膨胀后腐蚀
  • 可以填充小的黑色洞,大片的黑色不变,假设对象是白色,背景是黑色。
morphologyEx(src, dst, MORPH_CLOSE, kernel);//闭操作,第一个参数为原图像,第二个参数为操作后图像,第三个参数为执行操作类型,第四个参数为模板类型

在这里插入图片描述

3、形态学梯度(Morphological Gradient)

  • 膨胀减去腐蚀morph(src, element) = dilate(src, element) - erode(src, element)
  • 又称为基本梯度(其它还包括内部梯度(原图减去腐蚀的结果)、方向梯度(x, y方向进行梯度的变换))。
morphologyEx(src, dst, MORPH_GRADIENT, kernel);//梯度运算,用膨胀图像减去腐蚀图像

在这里插入图片描述

4、顶帽(top hat)

  • 顶帽是原图像与开操作之间的差值图像。
  • 经过开操作,大的白色区域不变,只有小白点变成了黑色,用原图像减去开操作后的图像,大的白色的点被消掉了,只留下图像中小的白点。
morphologyEx(src, dst, MORPH_TOPHAT, kernel);//顶帽运算,原图像减去开操作图像

在这里插入图片描述

5、黑帽(black hat)

  • 黑帽是闭操作图像与原图像的差值图像
  • 经过闭操作后,小的黑点变成了白色,再用该图像减去原图像,则只有原图中小黑点的区域变成白色。
morphologyEx(src, dst, MORPH_BLACKHAT, kernel);//黑帽操作

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值