La trasformata di Hough

Introduzione

La trasformata di Hough è una tecnica che viene utilizzata per isolare le caratteristiche di una determinata forma all’interno di un’immagine.
Dato che questa trasformata richiede che tali feature devono avere una determinata conformazione parametrica, viene usata tipicamente per rilevare linee, cerchi o ellissi.
Il vantaggio principale di questa tecnica è che non è sensibile ne agli eventualui “buchi” che si possono trovare nella feature analizzata, ne al rumore.

Funzionamento

Il funzionamento avviene tramite la costruzione di una matrice di accumulazione che contiene tutti i valori di (r, θ), in quanto il metodo lavoro con le coordinate polari.
Per un’analisi più approfondita leggere in questo link

Applicazioni

La trasformata di Hough utilizza in ingresso un insieme di punti di frontiera (edge point). Questi punti sono comunemente ottenuti tramite un algoritmo di edge detection sull’immagine.
Per capire meglio il suo funzionamento partiamo dalla seguente immagine che descrive due rettangoli sovrapposti

Lanciando un algoritmo di edge detection (ion questo caso Canny) ottengo la seguente figura

Che mi permette di individurare sì i bordi dell’immagine, ma non ho alcuna informazione su che tipi di bordo sono ne sulla loro quantitià. in questo caso, possiamo usare la trasformata di Hough per il rilevamento di linee per rilevare le 8 separate linee che compongono l’immagine e successivamente la struttura geometrica dell’oggetto.
Utilizzo questi edge come input alla trasformata, la matrice di accumulazione ottenuta è la seguente (il raggio è l’ascissa mentre l’angolo l’ordinata).

Le linee trovate nell’immagine in ingresso coincidono con i picchi del piano di Hough.
Esistono più metodi che permettono di estrarre questi punti dalla matrice di accumulazione, per esempio usare prima un thresholding e poi qualche thinning alle zone di punti luminosi isolati.
In questo modo estraggo dei punti univoci (r, θ) in cui ognuno corrisponde ad una linea retta nell’immagine originale (in pratica prendiamo solo i massimi locali della matrice di accumulazione i cui valori sono maggiori o uguali di una certa percentuale del massimo assoluto della matrice).
Eseguendo un mapping inverso dallo spazio di hough al piano cartesiano fornisce un insieme di linee dell’immmagine iniziale.
Ecco il risultato ottenuto:

E’ importante notare che le rette trovate hanno lunghezza infinita. Per trovare quale parte della retta coincide con l’immagine sottostante è necessaria un’analisi ulteriore.

Indice

Share
Ultimi articoli
Join

Newsletter

Nessuno spam, solo articoli interessanti ;)

Focus

Post correlati

Cosa sono gli operatori morfologici?

Cambiando completamente argomento rispetto agli ultimi articoli sui cui mi sono soffermato principalmente su SQL Server, in questo post (parziale traduzione di quanto si può

Algoritmi di labelling

1. Introduzione Gli algoritmi di labelling di componenti connesse cercano di raggruppare i pixel di un’immagine (binaria o in scala di grigi) in base alla

Thresholding

1. Introduzione Thresholding è il metodo di segmentazione di un’immagine più semplice per distinguere i pixel in background dai pixel in foreground di un’immagine in

Normalizzazione e equalizzazione

1.Normalizzazione 1.1 Introduzione La normalizzazione è una semplice tecnica di miglioramento di un’immagine che cerca di migliorarne il contrasto eseguendo una “stiratura” dei valori dei

Codice Pragmatico

Contatti

Per informazioni, dubbi o consulenze non esitate a contattarmi.

Lascia un messaggio

Ricevi le ultime news

Iscrivi alla newsletter

Solo articoli interessanti, promesso ;)