Esempio: rilevamento dei bordi tramite convoluzione
Utilizzare le funzioni freichen, sobel, prewitt e roberts per rilevare i bordi in un'immagine eseguendo la convoluzione di diversi kernel in sequenza sulla matrice. Il rilevamento dei bordi consente di migliorare la leggibilità dell'immagine per determinati tipi di caratteristiche che dipendono dai bordi.
Questa funzione convolve una matrice di immagini con i due kernel indicati di seguito.
1. Leggere un'immagine.
2. Applicare la funzione freichen all'immagine.
3. Confrontare le due immagini.
(brain.bmp)
(brain_fre.bmp)
Il rilevamento dei bordi freichen è utile per le immagini in cui sono presenti numerosi livelli di intensità che definiscono i diversi bordi nell'immagine. Tali kernel mostrano una sensibilità maggiore ai valori di pixel relativi, indipendentemente dalla luminosità.
sobel
Questa funzione convolve una matrice di immagini con i due kernel indicati di seguito.
Applicare la funzione sobel all'immagine di input.
(brain_sob.bmp)
Il kernel sobel consente un rilevamento dei bordi uniforme, anche se conferisce maggiore peso ai pixel ortogonali rispetto ai pixel diagonali.
prewitt
Questa funzione convolve una matrice di immagini con i due kernel indicati di seguito.
Applicare la funzione prewitt all'immagine di input.
(brain_pre.bmp)
Il kernel prewitt considera le differenziali dei pixel ortogonali e diagonali in modo equivalente.
roberts
Questa funzione convolve una matrice di immagini con i due kernel indicati di seguito.
Applicare la funzione roberts all'immagine di input.
(brain_rob.bmp)
Il kernel roberts considera solo le differenziali dei pixel diagonali e benché ciò consenta di enfatizzare gli angoli più chiaramente, può combinare in modo confuso piccole caratteristiche orizzontali o verticali.