Domanda

Sto cercando di individuare segmenti di linea in un'immagine.

Da quanto ho capito, l'algoritmo Hough rileva le linee ma non segmenti.

Qualcuno sa di come avrei potuto andare su questo, o eventuali librerie adatte a questo?

Im mio caso, sto cercando di rilevare tracce della stella (che ai presenti fini sono tutti dritto) da una fotografia in modo da posso ridurre di nuovo a punti.

Se è importante, sto cercando di implementare questo in C #

Tutte le idee?

È stato utile?

Soluzione

Per motion blur unsmearing, si dovrebbe guardare a deconvoluzione . La trasformata di Hough potrebbe essere utile a trovare il vettore di movimento originale (ho il sospetto che avrebbe funzionato bene per un po 'di segmenti di linea paralleli), ma deconvoluzione è quello che si usa per ottenere le stelle originali di nuovo fuori di esso, e questi ragazzi uso un metodo differente per la stima del vettore di moto originale:

prima dopo

Altri suggerimenti

L'OpenCV trasformata di Hough cvHoughLines2 ha una modalità probabilistica che rileva segmenti di linea:

  • CV_HOUGH_PROBABILISTIC - probabilistico trasformata di Hough (più efficiente nel caso in cui se l'immagine contiene alcuni segmenti lineari lunghi). Esso restituisce segmenti di linea piuttosto che l'intera linea. Ogni segmento è rappresentato da inizio e fine punti, e la matrice deve essere (la sequenza creata sarà) di tipo CV_32SC4.

Ho provato e funziona

Guardate il LSD rivelatore segmento di linea , pubblicata con dettagli di implementazione e il codice sorgente .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top