使用礼帽滤镜去除灰度图像中的小对象

此示例说明如何从灰度图像中删除小对象。顶帽变换 1 是从给定图像中提取小元素和细节的操作。这里我们使用白色顶帽变换,它被定义为输入图像和它的(数学形态)开口之间的差。

1

https://en.wikipedia.org/wiki/Top-hat_transform

Original, White tophat, Complementary
import numpy as np
import matplotlib.pyplot as plt

from skimage import data
from skimage import color, morphology

image = color.rgb2gray(data.hubble_deep_field())[:500, :500]

selem =  morphology.disk(1)
res = morphology.white_tophat(image, selem)

fig, ax = plt.subplots(ncols=3, figsize=(20, 8))
ax[0].set_title('Original')
ax[0].imshow(image, cmap='gray')
ax[1].set_title('White tophat')
ax[1].imshow(res, cmap='gray')
ax[2].set_title('Complementary')
ax[2].imshow(image - res, cmap='gray')

plt.show()

脚本的总运行时间: (0分0.409秒)

Gallery generated by Sphinx-Gallery