Skimage图像处理教程4)形态学膨胀腐蚀开闭运算

这一讲我们介绍基于基于python的skimage包的形态学操作,主要介绍最常见的几个形态学操作,就是图像的膨胀腐蚀和开闭运算,主要利用skimage.morphology

膨胀和腐蚀很直观,膨胀就是让一个区域变大,腐蚀就是让一个区域变小很直观很形象。开运算就是先做腐蚀再做膨胀,这样可以去除图像中一些孤立的小点,将两个区域很细的连接去除,闭运算就是首先对图像进行膨胀之后再进行腐蚀,这样可以去除图像中一些孤立的小的背景。

下面我们就介绍主要用到的函数

# 膨胀
skimage.morphology.dilation(image, selem=None, out=None, shift_x=False, shift_y=False)

# 腐蚀
skimage.morphology.erosion(image, selem=None, out=None, shift_x=False, shift_y=False)

# 开运算
skimage.morphology.opening(image, selem=None, out=None)

# 闭运算
skimage.morphology.closing(image, selem=None, out=None)

# 白顶帽操作,原图减去开运算的结果
skimage.morphology.white_tophat(image, selem=None, out=None)

# 黑顶帽操作,闭运算的结果减去原图
skimage.morphology.black_tophat(image, selem=None, out=None)

除此之外做形态学操作一定会用到各种形态学算子下面就列出一些常用的算子

skimage.morphology.square(width, dtype=<class 'numpy.uint8'>)    #正方形
skimage.morphology.rectangle(width, height, dtype=<class 'numpy.uint8'>)    #长方形
skimage.morphology.diamond(radius, dtype=<class 'numpy.uint8'>)    #钻石形
skimage.morphology.disk(radius, dtype=<class 'numpy.uint8'>)    #圆形
skimage.morphology.cube(width, dtype=<class 'numpy.uint8'>)    #立方体
skimage.morphology.octahedron(radius, dtype=<class 'numpy.uint8'>)    #八面体
skimage.morphology.ball(radius, dtype=<class 'numpy.uint8'>)    #球体
skimage.morphology.octagon(m, n, dtype=<class 'numpy.uint8'>)    #八角形
skimage.morphology.star(a, dtype=<class 'numpy.uint8'>)    #星形

下面就用一个例子来说明一下各种操作的结果。

import skimage
img = skimage.data.binary_blobs(100)
skimage.io.imshow(img)
skimage.io.show()

kernel = skimage.morphology.disk(5)
img_dialtion = skimage.morphology.dilation(img, kernel)
skimage.io.imshow(img_dialtion)
skimage.io.show()

img_erosion = skimage.morphology.erosion(img, kernel)
skimage.io.imshow(img_erosion)
skimage.io.show()

img_open =skimage.morphology.opening(img, kernel)
skimage.io.imshow(img_open)
skimage.io.show()

img_close =skimage.morphology. closing(img, kernel)
skimage.io.imshow(img_close)
skimage.io.show()

img_white =skimage.morphology.white_tophat(img, kernel)
skimage.io.imshow(img_white)
skimage.io.show()

在这里插入图片描述
更多skimage教程请看这里

  • 12
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
形态学滤波是一种基于形态学理论的图像处理方法,常用于去除噪声、提取图像特征等。形态学滤波包括膨胀腐蚀运算运算四种基本操作。 1. 膨胀:将图像中的物体(前景)膨胀,使其变大。膨胀操作可以去掉物体边缘上的小孔和将物体连接起来。膨胀操作的基本思想是用一个结构元素在图像上滑动,只要结构元素与图像中的前景像素有重叠部分,则将结构元素中心对应的像素设为前景像素。 2. 腐蚀:将图像中的物体(前景)腐蚀,使其变小。腐蚀操作可以去掉物体边缘上的毛刺和将物体分腐蚀操作的基本思想是用一个结构元素在图像上滑动,只要结构元素与图像中的所有像素都有重叠部分,则将结构元素中心对应的像素设为前景像素。 3. 运算:先进行腐蚀操作,再进行膨胀操作,可以去除小型物体,平滑较大物体的边界。运算的基本思想是先用结构元素进行腐蚀操作,再用同样的结构元素进行膨胀操作。 4. 运算:先进行膨胀操作,再进行腐蚀操作,可以填补物体内部的小孔,平滑较小物体的边界。运算的基本思想是先用结构元素进行膨胀操作,再用同样的结构元素进行腐蚀操作。 形态学滤波的效果受到结构元素的选择和大小的影响,需要根据具体情况进行调整。形态学滤波常用于图像处理中的前景提取、边缘检测、图像重构等方面。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值