Tinh chỉnh một mặt nạ
Những mặt nạ chưa hoàn hảo có thể được tinh chỉnh bằng cách thêm hoặc bớt pixel. SciPy có sẵn một số phương thức hữu ích để thực hiện việc này, bao gồm:
binary_dilation: Thêm pixel dọc theo các cạnhbinary_erosion: Loại bỏ pixel dọc theo các cạnhbinary_opening: Erode rồi dilate, "mở" các vùng gần cạnhbinary_closing: Dilate rồi erode, "lấp đầy" các lỗ
Trong bài này, hãy tạo một mặt nạ xương rồi tinh chỉnh để bao gồm thêm pixel.
Với các bài còn lại, chúng tôi đã chạy lệnh import sau cho bạn:
import scipy.ndimage as ndi
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 nạ xương bằng cách chọn các pixel từ
imcó giá trị lớn hơn hoặc bằng145. - Dùng
ndi.binary_dilation()để tăng kích thước củamask_bone. Đặt sốiterationslà5để thực hiện phép giãn nhiều lần. - Dùng
ndi.binary_closing()để lấp đầy các lỗ trênmask_bone. Đặt sốiterationslà5để lấp các lỗ rộng tối đa 10 pixel. - Vẽ mặt nạ gốc và mặt nạ đã tinh chỉnh.
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.
# 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()