Bắt đầu ngayBắt đầu miễn phí

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ạnh
  • binary_erosion: Loại bỏ pixel dọc theo các cạnh
  • binary_opening: Erode rồi dilate, "mở" các vùng gần cạnh
  • binary_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

Xem khóa học

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ừ im có giá trị lớn hơn hoặc bằng 145.
  • Dùng ndi.binary_dilation() để tăng kích thước của mask_bone. Đặt số iterations5 để thực hiện phép giãn nhiều lần.
  • Dùng ndi.binary_closing() để lấp đầy các lỗ trên mask_bone. Đặt số iterations5 để 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()
Chỉnh sửa và Chạy Mã