Zacznij terazZacznij za darmo

Zastosuj maskę

Maski są binarne, ale można je stosować do obrazów, aby odfiltrować piksele, w których maska przyjmuje wartość False.

Funkcja where() z biblioteki NumPy to elastyczny sposób na stosowanie masek. Przyjmuje trzy argumenty:

np.where(condition, x, y)

condition, x i y mogą być tablicami lub pojedynczymi wartościami. Dzięki temu możesz zachować oryginalne wartości pikseli, a zamaskowane piksele ustawić na 0.

Przećwicz stosowanie masek, wybierając piksele odpowiadające kości ze zdjęcia rentgenowskiego dłoni (im).

To ćwiczenie jest częścią kursu

Analiza obrazów biomedycznych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz boolowską maskę kości, wybierając piksele o wartości większej lub równej 145.
  • Zastosuj maskę do obrazu za pomocą np.where(). Piksele spoza maski ustaw na 0.
  • Utwórz histogram zamaskowanego obrazu. Użyj następujących argumentów, aby uwzględnić tylko piksele różne od zera: min=1, max=255, bins=255.
  • Wykreśl zamaskowany obraz i histogram. Ten krok został już za ciebie wykonany.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod