注記
完全なサンプルコードをダウンロードするには、最後まで進んでください。 または、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.849秒)