Comece agoraComece grátis

Aplicar uma máscara

Embora máscaras sejam binárias, elas podem ser aplicadas a imagens para filtrar pixels em que a máscara é False.

A função where() do NumPy é uma forma flexível de aplicar máscaras. Ela recebe três argumentos:

np.where(condition, x, y)

condition, x e y podem ser arrays ou valores únicos. Isso permite manter os valores originais da imagem enquanto define os valores mascarados como 0.

Vamos praticar a aplicação de máscaras selecionando os pixels semelhantes a osso no raio-x da mão (im).

Este exercicio faz parte do curso

Análise de Imagens Biomédicas em Python

Ver curso

Instruções do exercicio

  • Crie uma máscara Booleana do osso selecionando pixels maiores ou iguais a 145.
  • Aplique a máscara à sua imagem usando np.where(). Valores fora da máscara devem ser definidos como 0.
  • Crie um histograma da imagem mascarada. Use os seguintes argumentos para selecionar apenas os pixels diferentes de zero: min=1, max=255, bins=255.
  • Plote a imagem mascarada e o histograma. Isso já foi feito para você.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# 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()
Editar e Executar Código