备注
前往结尾 下载完整示例代码。或在浏览器中通过 Binder 运行此示例。
使用顶帽滤波器去除灰度图像中的小对象#
此示例展示了如何从灰度图像中移除小对象。顶帽变换 [1] 是一种从给定图像中提取小元素和细节的操作。这里我们使用白顶帽变换,其定义为输入图像与其(数学形态学)开运算之间的差异。
import matplotlib.pyplot as plt
from skimage import data
from skimage import color, morphology
image = color.rgb2gray(data.hubble_deep_field())[:500, :500]
footprint = morphology.disk(1)
res = morphology.white_tophat(image, footprint)
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.312 秒)