開始使用免費開始

調整遮罩

不完美的遮罩可以透過新增或移除像素來微調。SciPy 提供了多種實用的方法來達成這些目的,包括:

  • binary_dilation:沿邊緣新增像素(膨脹)
  • binary_erosion:沿邊緣移除像素(侵蝕)
  • binary_opening:先侵蝕再膨脹,用來「打開」邊緣附近的區域
  • binary_closing:先膨脹再侵蝕,用來「填補」孔洞

在本練習中,請先建立骨骼遮罩,然後調整它以納入更多像素。

在後續的練習中,我們已替你執行以下匯入:

import scipy.ndimage as ndi

本練習屬於課程

Python 的生醫影像分析

檢視課程

練習說明

  • im 中選出大於或等於 145 的像素來建立骨骼遮罩。
  • 使用 ndi.binary_dilation() 放大 mask_bone 的大小。將 iterations 設為 5,以重複進行多次膨脹。
  • 使用 ndi.binary_closing() 來填補 mask_bone 中的孔洞。將 iterations 設為 5,以填補寬度最多達 10 個像素的孔洞。
  • 繪製原始遮罩與調整後的遮罩。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Create and tune bone mask
mask_bone = ____
mask_dilate = ndi.binary_dilation(____, ____)
mask_closed = ____

# Plot masked images
fig, axes = plt.subplots(1,3)
axes[0].imshow(mask_bone)
axes[1].imshow(mask_dilate)
____
format_and_render_plot()
編輯並執行程式碼