Analisi di Immagini e Dati Biologici Edge detection and sharpening L7 38
Bordi In un'immagine grayscale i bordi di un oggetto sono determinati da una transizione di luminosità I cambiamenti di intensità avvengono lungo la direzione localmente ortogonale localmente al bordo Più rapido è il cambiamento più grande è la sua evidenza (forza)
Bordi e Derivate Il concetto matematico dietro alla variazione locale di una grandezza è quello di derivata La distribuzione dell'intensità di un immagine è discretizzata dalla matrice di pixel Approssimiamo la derivata con una differenza centrata nel punto
Bordi e Derivate
Variazioni di luminosità
Gradiente di luminosità Gradiente Vettore di variazione dell'intensità lungo una direzione qualsiasi Le 2 componenti del vettore sono le proiezioni lungo gli assi del vettore di massima variazione di intensità luminosa
Gradiente di Luminosità Rappresenta un vettore che indica la direzione di massimo cambimento di intensità luminosa Rapidità di variazione unitaria
Gradiente di luminosità La forza di un bordo è data dalla magnitudine del vettore gradiente
Gradiente di luminosità L'orientamento è l'angolo (misurato rispetto all'asse orizzontale) della direzione di massima intensità
Filtri di Derivazione
Filtro di Derivata
Matrici di Gradiente Matrici di Prewitt Stimano la derivata lungo un asse eseguendo allo stesso tempo una media sull'asse ortogonale per ridurre l'influenza del rumore La funzione fspecial di Octave può generare la matrice di Prewitt orizzontale
Matrici di Gradiente Matrici di Sobel Funzionano come quelle di Prewitt, ma usano una media pesata sulla dimensione ortogonale La funzione fspecial di Octave può generare la matrice di Sobel orizzontale
Gradiente di Luminosità
Funzione edge di Octave La funzione edge ritorna un'immagine binaria dei bordi individuati con vari metodi Ammette parametri di controllo Nel caso di Sobel e Prewitt il parametro opzionale indica la soglia da applicare al modulo della derivata octave:2> borders=edge(disco,"prewitt"); octave:3> imshow(borders) octave:4> [borders,threshold]=edge(disco,”prewitt”); octave:5> borders=edge(disco,”prewitt”,1.1*threshold); octave:6> imshow(borders)
Funzione edge di Octave
Matrici di Gradiente
Matrici di Roberts Un caso semplice sono le matrici di Roberts massimizzano le variazioni di luminosità che avvengono lungo le direzioni diagonali
Compass Operators Matrici che massimizzano il modulo del gradiente all'interno di un quadrante Le 8 matrici del metodo sono state ideate in modo generare un vettore gradiente con modulo che diventa massimo quando la variazione di intensità in un punto avviene in uno di otto quadranti in cui l'angolo giro è suddiviso Di 8 matrici devono essere calcolati solo 4 gradienti (essendo il modulo degli altri quadranti uguale, ma cambiando il verso del vettore gradiente)
Compass Operator
Operatori basati sulla derivata seconda
Laplacian of Gaussian (GoL) Modello bordo con andamento 'smooth' può essere assimilato ad una funzione sigmoidale Si assume che il bordo sia dove la funzione pendenza cambia di concavità. Si cerca quindi i punti dove la derivata seconda cambia di segno (quindi dove in qualche punto attraversa lo zero)
Laplacian of Gaussian (GoL)
Immagine di cellule osservate con microscopia ottica
Laplacian of Gaussian (GoL) LoG 5x5,9x9 Dispersione 1.5
Laplacian of Gaussian (GoL) Implementato nella funzione edge Ammette 2 parametri di controllo: soglia e dispersione della gaussiana
Metodo di Canny Metodo analitico basato sull'ipotesi di modello gaussiano del rumore Minimizza l'errore di localizzazione del bordo Minimizza i falsi positivi Minima ridondanza della localizzazione Implementato da edge
Metodo di Canny Octave offre un'implementazione del Metodo di Canny
Metodo di Canny
Edge Sharpening Il riconoscimento dei contorni permette di costruire immagini binarie di regioni di un immagine L'organizzazione dei contorni favorisce la percezione delle strutture La forza di un bordo è il fattore determinante per suo riconoscimento L'edge sharpening mira al miglioramento della forza dei bordi e dei contorni
Edge Sharpening Strategia: aumentare le differenze di intensità dove ci sono bordi All'immagine da migliorare viene sottratta una quota (controllata da un parametro)
Edge Sharpening
Operatore di Laplace
Operatore di Laplace in forma discreta Edge Sharpening
Operatore di Laplace Applicazione dell'operatore di Laplace per esaltazione dei bordi ('*' è l'operatore di convoluzione implementato dalla funzione imfilter di Octave
Unsharp Masking L'unsharp masking viene costruito in 2 fasi Si crea una immagine smoothed che viene sottratta all'immagine originale. Questo costituisci la 'maschera' (mask) La maschera viene di nuovo aggiunta all'originale usando un parametro di controllo
Unsharp Masking