Il caso più semplice di trasformazione di Hough è la trasformazione lineare per il rilevamento di linee rette per . Nello spazio immagine, la retta può essere descritta come y = mx + b e può essere graficamente tracciata per ogni coppia dei punti immagine (x, y)
Quindi questo indica ciò x
e y
corrispondono per tornare nell'immagine.
Nel trasformata di Hough, un'idea principale è quella di considerare le caratteristiche della retta non come punti immagine (x1, y1), (x2, y2), ..., ma invece, in termini dei suoi parametri, come il parametro slope m e il parametro dell'intercetta b.
In base a ciò, la retta y = mx + b può essere rappresentata come punto (b, m) nello spazio dei parametri. Tuttavia, uno affronta il problema che le linee verticali danno origine ai valori non limitati dei parametri m eb, . Per ragioni computazionali, è quindi preferibile utilizzare una coppia diversa di parametri, indicata con e (theta), per le linee nella trasformazione di Hough.
Il parametro rho rappresenta la distanza tra la linea e l'origine di , mentre theta è l'angolo del vettore dall'origine a questo punto più vicino di .
Questo ti dice cosa rho
e theta
corrispondono a: essi sono la rappresentazione in coordinate polari di pendenza e intercetta della linea che si sta tentando di descrivere nella vostra immagine.
Su SourceForge è possibile trovare un C++
implementazione di trasformata di Hough.
Una descrizione dalla quale si dovrebbe essere in grado di interpretare il codice che ho sottolineato nel link precedente può essere la seguente:
La trasformata di Hough algoritmo utilizza una matrice, chiamato un accumulatore, per rilevare l'esistenza di una linea y = mx + b.
Ad esempio, il problema di trasformazione lineare di Hough ha due parametri sconosciuti : m eb.
Per ciascun pixel e il relativo vicinato, l'algoritmo di trasformazione Hough determina se vi è una prova sufficiente di un bordo a quel pixel. Se così, calcolerà i parametri di quella linea, quindi cercherà nel raccoglitore dell'accumulatore in cui si trovano i parametri e aumenterà il valore di quel bin.
Trovando i bidoni con i valori più elevati, in genere alla ricerca di massimi locali nello spazio di accumulo, le linee più probabili possono essere estratti
Fatemi sapere se risposta è stata utile! ;) – Matteo