La funzione
reg_grow divide un'immagine in diverse regioni omogenee collegate, utilizzando un algoritmo crescente in regioni. La segmentazione basata sulle regioni viene utilizzata per raggruppare le regioni di un'immagine con proprietà omogenee, ad esempio intensità, texture e così via.
1. Creare un'immagine con diversi riquadri rettangolari:
2. Utilizzare la funzione
runif per aggiungere rumore distribuito uniformemente con media zero [-0.1 0.1]:
3. Utilizzare la funzione
scale per ingrandire l'immagine e quindi utilizzare la funzione
WRITEBMP per salvare l'immagine ingrandita in un file. Visualizzare l'immagine.
(reg_grow_s.bmp)
4. Utilizzare l'algoritmo crescente in regioni:
5. Visualizzare l'output con colori falsi per rendere più evidenti le regioni.
(reg_grow_sm1.bmp)
6. Utilizzare la funzione
gray_to_rgb per convertire l'immagine in grigio in colore. Visualizzare l'output con colori falsi per rendere più evidenti le regioni.
(reg_grow_sm1c.bmp)
7. Verificare il numero di regioni trovato dall'algoritmo e quindi utilizzare la funzione
imhist per analizzare l'istogramma.
Come nella matrice di input, sono presenti cinque regioni con area 400, due regioni con area 800 e tre regioni con area 2000.
8. Applicare la segmentazione a un'immagine reale, un'immagine MRI della testa di una persona.
9. Utilizzare la funzione
submatrix per estrarre le prime 256 righe dall'immagine ed evitare un numero dispari di righe.
10. Applicare la procedura di crescita in regioni a questa immagine, a partire da una partizione iniziale 2 x 2 e finendo con 20 regioni:
11. Visualizzare l'immagine originale accanto a quella segmentata e scalata.
(brain_t.bmp)
(brain_t1s.bmp)
12. Selezionare tutti i punti nell'immagine scalata che hanno lo stesso valore del valore spoint selezionato.
T2 è un'immagine binaria:
(brain_t2.bmp)
13. Utilizzare la funzione
mask e mascherare T2 per estrarre la regione del cervello dall'immagine originale.