2019-7-17 opencv图像处理5-形态学变换(Morphological Transformations)

本文详细介绍了OpenCV中的形态学变换,包括腐蚀、膨胀、开运算、闭运算、形态学梯度、顶帽和黑帽等操作。这些变换在图像处理中常用于去除噪声、特征提取、边缘检测等任务。同时,文章还讨论了结构化元素的作用,如矩形核、圆形核和椭圆核,并提供了多个实例来展示各种变换的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官网参见https://docs.opencv.org/3.4.1/d9/d61/tutorial_py_morphological_ops.html

形态学变化可以用来解决抑制噪声、特征提取、边缘检测、图像分割、形状识别、纹理分析、图像恢复与重建、图像压缩等图像处理问题。

内容概要

  • 腐蚀, cv2.erode(),去白色噪音,分离连接物体
  • 膨胀, cv2.dilate(),扩大前景区域,连接物体被断开部分
  • 开运算,cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel),先腐蚀再膨胀。用于去除噪音,同时保持前景不缩小
  • 闭运算,cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel),先膨胀再腐蚀。用于填充前景物体小洞,或者去除前景小黑点
  • 形态学梯度,cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel),膨胀图和腐蚀图只差。用于获得物体边缘。
  • 顶帽,cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel),原始图像和开运算后图像之差,往往用来分离比临近点亮一些的斑块。
  • 黑帽, cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel),闭运算后的图像和原始图像之差,用来分离比临近点暗一些的斑块,效果图有着非常完美的轮廓。
  • 结构化元素,矩形核,圆形核,椭圆核

形态学变换是基于图像形状的一些简单操作,通常是对二值化图像进行操作。
它需要2个参数,一个是原始图像,另外一个被称为结构化元素或者核,它决定了操作的性质。有2个基本的形态学操作:腐蚀和膨胀。它们的变化形式有开运算,闭运算,梯度等。

1.腐蚀

形态学腐蚀的基本概念和土壤腐蚀一样,会把图像中前景物体的边界腐蚀掉(通常会保持前景为白色)。它是怎么做到的呢?

以2D卷积为例,参见https://blog.youkuaiyun.com/weixin_42555985/article/details/96101079),当卷积核在图像中滑动,如果核对应的原始图像中所有像素值都是1(注意:图像中元素值要么是1要么是0),中心元素会变为1;反之,则变为0。
这样做的结果就是,靠近边界的图像元素会根据卷积核的大小决定是否被抛弃(或者说腐蚀掉,也就是变为0)。

腐蚀会让前景物体的厚度或者说大小在整个图像中变小,也可以说图像中的白色区域减少(因为前景是白色的)。

腐蚀可以去除图像中的小白色噪音,也可以用于分离2个连接在一起的物体。

例1,简单的腐蚀,5x5核

# -*- coding: cp9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值