Funzioni > Elaborazione immagini > Elaborazione morfologica > Esempio: morfologia di una scala di grigi
Esempio: morfologia di una scala di grigi
Utilizzare le funzioni per la morfologia di una scala di grigi per estrarre componenti dell'immagine. È inoltre possibile descrivere forme di oggetti prelevando piccole caratteristiche brillanti o scure in un'immagine.
Per informazioni sull'utilizzo di questo esempio, fare riferimento a Esempi di elaborazione delle immagini.
gray_erode
Nell'erosione binaria è necessario utilizzare un elemento strutturante per definire un intorno di ogni pixel. In questo intorno di pixel la presenza di qualsiasi pixel di sfondo fa sì che il primo piano diventi lo sfondo. L'erosione di una scala di grigi è un'estensione di questa operazione, in cui i valori dei pixel dell'elemento strutturante vengono sottratti dai valori dei pixel dell'immagine di input. L'output è costituito dal valore minimo dei pixel risultante entro i limiti dell'elemento strutturante.
1. Create una matrice sequenziale 5 x 4.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Creare un elemento strutturante semplice.
Fare clic per copiare questa espressione
3. Utilizzare la funzione gray_erode per eseguire l'erosione in scala di grigi con l'origine della SE in (0,0).
Fare clic per copiare questa espressione
4. Valutare la nuova matrice, che sarà uguale a M - 1 ad eccezione della colonna all'estrema destra e della riga più in basso (condizioni limite).
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
5. Utilizzare la funzione READ_IMAGE per leggere un'immagine.
Fare clic per copiare questa espressione
6. Eseguire l'erosione di un'immagine più realistica con un elemento strutturante centrato 5 x 5.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
7. Applicare la funzione gray_erode alla nuova immagine, quindi utilizzare la funzione WRITEBMP per salvarla in un file.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
8. Visualizzare l'immagine originale e quella erosa.
(lena.bmp)
(lena_le.bmp)
Come previsto, è possibile notare che l'immagine è diventata generalmente più scura, le aree più scure si sono estese e alcuni dettagli più brillanti sono scomparsi.
gray_dilate
Nella dilatazione binaria si utilizza un elemento strutturante per definire l'intorno dei singoli pixel entro il quale la presenza di pixel di primo piano determina la conversione dello sfondo in primo piano.
1. Utilizzare la stessa matrice sequenziale e lo stesso elemento strutturante del caso precedente.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Utilizzare la funzione gray_dilate per eseguire la dilatazione in scala di grigi con l'origine della SE in (0,0).
Fare clic per copiare questa espressione
3. Valutare la nuova matrice, che sarà uguale a M + 1 ad eccezione della colonna all'estrema destra e della riga più in basso (condizioni limite).
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
4. Applicare la funzione gray_dilate all'immagine precedente.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
5. Visualizzare l'immagine originale e quella dilatata.
(lena.bmp)
(lena_ld.bmp)
La dilatazione produce un aumento della luminosità complessiva, aree brillanti più estese e perdita di piccoli dettagli scuri.
gray_open, gray_close
L'apertura e la chiusura in scala di grigi sono definite in modo analogo all'apertura e alla chiusura in morfologia binaria. L'apertura è rappresentata dall'erosione in scala di grigi seguita dalla dilatazione in scala di grigi, mentre la chiusura è rappresentata dalla dilatazione in scala di grigi seguita dall'erosione in scala di grigi.
Applicare gray_open e gray_close alla matrice sequenziale per determinare se sono equivalenti alla combinazione di erosione e dilatazione.
1. Applicare l'apertura in scala di grigi alla matrice sequenziale.
Fare clic per copiare questa espressione
2. Applicare l'erosione in scala di grigi alla matrice sequenziale, con l'origine dell'elemento strutturante in corrispondenza di (0,0).
Fare clic per copiare questa espressione
3. Applicare la dilatazione in scala di grigi alla matrice erosa, con l'origine dell'elemento strutturante in corrispondenza di (0,0).
Fare clic per copiare questa espressione
4. Mostrare che l'apertura in scala di grigi equivale alla combinazione di erosione e dilatazione in scala di grigi.
Fare clic per copiare questa espressione
5. Applicare la chiusura in scala di grigi alla matrice sequenziale.
Fare clic per copiare questa espressione
6. Applicare la dilatazione in scala di grigi alla matrice sequenziale, con l'origine dell'elemento strutturante in corrispondenza di (0,0).
Fare clic per copiare questa espressione
7. Applicare l'erosione in scala di grigi alla matrice dilatata, con l'origine dell'elemento strutturante in corrispondenza di (0,0).
Fare clic per copiare questa espressione
8. Mostrare che la chiusura in scala di grigi equivale alla combinazione di dilatazione ed erosione in scala di grigi.
Fare clic per copiare questa espressione
9. Applicare le funzioni per verificare l'immagine L e confrontare le immagini dilatata, erosa, aperta e chiusa.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
(lena_ld.bmp)
(lena_le.bmp)
(lena_lc.bmp)
(lena_lo.bmp)
L'apertura e la chiusura in scala di grigi non producono alcuna modifica della luminosità complessiva, modificata invece da dilatazione ed erosione. La dilatazione e la chiusura migliorano entrambe le caratteristiche brillanti dell'immagine e riducono quelle scure, mentre l'erosione e l'apertura migliorano le caratteristiche scure e riducono quelle brillanti.
È stato utile?