Skimage图像处理教程5)形态学运算

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/limiyudianzi/article/details/86981281

上一讲中已经介绍了如何介绍开闭,膨胀腐蚀,白顶帽黑顶帽运算等内容,这一讲主要介绍如何用python的skimage做其他的形态学运算,如去除小区域,提取图像骨架,

# 移除小的区域
skimage.morphology.remove_small_objects(ar, min_size=64, connectivity=1, in_place=False)

#移除小的孔洞
skimage.morphology.remove_small_holes(ar, area_threshold=64, connectivity=1, in_place=False, min_size=None)

# 图像局部重构
# 很像ppt中的删除图像背景的功能,seed为种子点,mask为图像。
skimage.morphology.reconstruction(seed, mask, method='dilation', selem=None, offset=None)


# 骨架提取
skimage.morphology.skeletonize(image)
skimage.morphology.skeletonize_3d(img)
skimage.morphology.thin(image, max_iter=None) # 没有iter参数也是给出骨架
skimage.morphology.medial_axis(image, mask=None, return_distance=False)

下面老规矩,我们举几个例子一起看一下。

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

img_ro = skimage.morphology.remove_small_objects(img, 128)
skimage.io.imshow(img_ro)
skimage.io.show()

import numpy as np
mask = np.zeros(shape = (100,100))
seed[20,20] = 1
img_recon = skimage.morphology.reconstruction(seed,img )
skimage.io.imshow(img_recon)
skimage.io.show()

img_sk = skimage.morphology.skeletonize(img)
skimage.io.imshow(img_sk)
skimage.io.show()
img_thin = skimage.morphology.thin(img, max_iter=3)
skimage.io.imshow(img_thin)
skimage.io.show()


img_med = skimage.morphology.medial_axis(img)
skimage.io.imshow(img_med)
skimage.io.show()

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

猜你喜欢

转载自blog.csdn.net/limiyudianzi/article/details/86981281