开始使用免费开始使用

应用掩膜

尽管掩膜是二值的,但可以将其"应用"到图像上,以滤除在掩膜中为 False 的像素。

NumPy 的 where() 函数是应用掩膜的一种灵活方式。它接收 3 个参数:

np.where(condition, x, y)

conditionxy 都可以是数组或单个数值。这样,您就可以在保留原始图像像素值的同时,将被掩蔽的位置设为 0。

下面来练习应用掩膜:从手部 X 光片(im)中选出类似骨骼的像素。

本练习是课程的一部分

Python 中的生物医学图像分析

查看课程

练习说明

  • 通过选择大于等于 145 的像素来创建布尔类型的骨骼掩膜。
  • 使用 np.where() 将掩膜应用到图像上。不在掩膜中的像素值应设为 0
  • 为掩蔽后的图像绘制直方图。仅选择非零像素,使用参数:min=1max=255bins=255
  • 绘制掩蔽后的图像和直方图。此步骤已为您完成。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Import SciPy's "ndimage" module
____

# Screen out non-bone pixels from "im"
mask_bone = ____
im_bone = np.where(____, ____, ____)

# Get the histogram of bone intensities
hist = ____

# Plot masked image and histogram
fig, axes = plt.subplots(2,1)
axes[0].imshow(im_bone)
axes[1].plot(hist)
format_and_render_plot()
编辑并运行代码