Funzioni > Elaborazione immagini > Ricerca limiti > Rilevamento dei bordi di Canny
Rilevamento dei bordi di Canny
canny(M, sigma, low, high) - Restituisce una immagine dei bordi binaria risultante dal rilevamento dei bordi di Canny sulla matrice M, utilizzando il sigma di deviazione standard e le soglie di isteresi low e high. Nella matrice di rilevamento, i punti dei bordi hanno valore 1 e lo sfondo ha valore 0. Il perimetro dell'immagine ha valori indefiniti, poiché in corrispondenza di esso i kernel non si sovrappongono completamente all'immagine.
Per il rilevamento dei bordi di un'immagine, questa funzione utilizza l'algoritmo di Canny. Tale algoritmo è costituito dalle 3 fasi riportate di seguito.
1. Convoluzione dell'immagine di input con un kernel di derivata gaussiana, dove sigma è la deviazione standard della derivata gaussiana. sigma svolge il ruolo di parametro di scala per i bordi: valori grandi di sigma generano bordi con una scala più grossolana, mentre valori piccoli di sigma generano bordi con una scala più precisa. Da valori grandi di sigma risulta inoltre una maggiore soppressione del rumore.
2. Non maxima suppression nella direzione del gradiente di intensità per ogni pixel.
3. Soglia di isteresi utilizzando i valori di soglia basso e alto. Nella soglia di isteresi, per le grandezze dei gradienti di intensità viene prima utilizzata la soglia con il valore più basso. Vengono quindi mantenuti i pixel con grandezze dei gradienti superiori alla soglia più bassa, ma con segmenti connessi che hanno almeno un pixel con grandezza dei gradienti maggiore della soglia più alta.
Argomenti
M è una matrice di immagini.
sigma è un numero reale maggiore di zero, di solito tra 0 e 2.
low, high sono numeri reali e low < high.
È stato utile?