Áp dụng một mask
Mặc dù mask là nhị phân, bạn có thể áp dụng chúng lên ảnh để loại bỏ các điểm ảnh nơi mask là False.
Hàm where() của NumPy là một cách linh hoạt để áp dụng mask. Hàm nhận ba đối số:
np.where(condition, x, y)
condition, x và y có thể là mảng hoặc giá trị đơn. Cách này cho phép bạn giữ nguyên các giá trị ảnh gốc trong khi đặt các giá trị bị mask thành 0.
Hãy luyện tập áp dụng mask bằng cách chọn các điểm ảnh giống xương từ ảnh X-quang bàn tay (im).
Bài tập này là một phần của khóa học
Phân tích ảnh Y sinh học bằng Python
Hướng dẫn bài tập
- Tạo một mask Boolean cho xương bằng cách chọn các điểm ảnh lớn hơn hoặc bằng 145.
- Áp dụng mask lên ảnh của bạn bằng
np.where(). Các giá trị không thuộc mask phải được đặt thành0. - Tạo biểu đồ histogram của ảnh đã áp dụng mask. Dùng các đối số sau để chỉ chọn các điểm ảnh khác 0:
min=1,max=255,bins=255. - Vẽ ảnh đã áp dụng mask và biểu đồ histogram. Phần này đã được làm sẵn cho bạn.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()