openCV+Python 数字图像处理(16)——顶帽、黑帽、形态学梯度

形态学基本操作——腐蚀与膨胀、开闭操作、顶帽黑帽、形态学梯度

1.基本概念

  • 腐蚀(erode) 用最小值取代中心像素。膨胀过后黑色增加。

  • 膨胀(dilate) 用最大值取代中心像素。膨胀过后白色增加。

  • 开操作(open) 开操作 = 腐蚀 + 膨胀,去除黑色背景下的白色小块

  • 闭操作(close) 闭操作 = 膨胀 + 腐蚀,去除白色背景下的黑色小块

  • 顶帽(tophat) 原图像与开操作之间的差值图像,获得开操作去掉的白色小块

  • 黑帽(blackhat) 闭操作与原图像之间的差值图像,获得闭操作去掉的黑色小块

  • 形态学梯度(gradient)
    ①基本梯度:膨胀后的图像减去腐蚀后的图像得到的差值图像,openCV内置
    ②内部梯度:原图像减去腐蚀后的图像得到的差值图像
    ③外部梯度:膨胀后的图像减去原图像得到的差值图像

2.API 介绍

腐蚀
cv2.erode(src: Any, kernel: Any, dst: Any = None, anchor: Any = None, iterations: Any = None, borderType: Any = None, borderValue: Any = None)
膨胀
cv2.dilate(src: Any, kernel: Any, dst: Any = None, anchor: Any = None, iterations: Any = None, borderType: Any = None, borderValue: Any = None)

形态学其他操作

cv2.morphologyEx(src: Any, op: Any, kernel: Any, dst: Any = None, anchor: Any = None, iterations: Any = None, borderType: Any = None, borderValue: Any = None)

src: 图片
kernel: 核,可由 cv2.getStructuringElement()得到
op: 形态学操作类型

类型名称名字
开操作cv2.MORPH_OPEN
闭操作cv2.MORPH_CLOSE
顶帽cv2.MORPH_TOPHAT
黑帽cv2.MORPH_BLACKHAT
基本梯度cv2.MORPH_GRADIENT

3.代码示例

4.结果展示

原图和腐蚀后:
原图 腐蚀操作
原图和膨胀后:
原图 膨胀操作
原图与开操作后:
在这里插入图片描述
原图与闭操作后:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值