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
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 na0. - 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()