Inizia subitoInizia gratis

Rileva i bordi (1)

I filtri possono essere usati anche come "rivelatori". Se una parte dell'immagine corrisponde allo schema di pesatura, il valore restituito sarà molto alto (o molto basso).

Nel caso del rilevamento dei bordi, lo schema è un cambiamento di intensità lungo un piano. Un filtro che rileva i bordi orizzontali potrebbe essere così:

weights = [[+1, +1, +1],
           [ 0,  0,  0],
           [-1, -1, -1]]

In questo esercizio, crea un rivelatore di bordi verticali e verifica come si comporta sulla radiografia della mano (im).

Questo esercizio fa parte del corso

Analisi di immagini biomediche in Python

Visualizza corso

Istruzioni dell'esercizio

  • Crea un array 3x3 di pesi del filtro che rilevi quando l'intensità cambia da sinistra a destra. Usa solo i valori 1, 0 e -1.
  • Convolvi im con il rivelatore di bordi.
  • Traccia i bordi orizzontali con la mappa colori seismic. Usa vmin=-150 e vmax=150 per regolare la scala della mappa colori.
  • Aggiungi una barra dei colori e visualizza i risultati.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# Set weights to detect vertical edges
weights = [[____], [____], [____]]

# Convolve "im" with filter weights
edges = ____

# Draw the image in color
plt.imshow(____, ____, vmin=-150, vmax=150)
____
format_and_render_plot()
Modifica ed esegui il codice