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教程请看这里

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值