5

enter image description hereRilevamento forme quadrilatero dal insieme casuale di linee segmenti

l'immagine allegata è l'uscita della trasformata di Hough di Opencv 2.4.2

La prego di consigliarmi con il miglior algoritmo per individuare il miglior Quadrilatero (non sempre rettangolare) forma da questi segmenti di linea

anche se alcuni angoli risiederanno fuori dei confini dell'immagine, ho ancora bisogno di rilevarli

Molte Grazie

+0

hai bisogno di definire "migliore". È più grande? Se sì, perimetrale o area? È più delineato? ho le più piccole lacune ect. – Hammer

+1

Una buona domanda costruttiva, ma non ne ho idea :( –

+0

Buona domanda, sarei molto interessato a una risposta! – tim

risposta

1

Senza avere il tempo di provare in realtà questo, ho potuto immagine qualcosa di simile:

  1. iterare tutte le linee e calcolare le piste.
  2. Ordinare le linee in base alle loro pendenze
  3. Se due linee hanno una pendenza approssimativamente simile, esse sono parallele o la stessa linea con uno spazio vuoto (ad esempio le linee quasi verticali a sinistra). Per capire quale, calcolare dove intercetteranno l'asse x o y. Se intercettano nello stesso punto, sono la stessa linea e devono essere uniti in un'unica riga. In caso contrario, inserirli in una serie di linee (approssimativamente) parallele.
  4. Confrontare ogni serie di linee parallele l'una con l'altra e calcolare se si intersecano (possibilmente fuori dallo schermo).
  5. Applicare un criterio dipendente dall'applicazione per scegliere il migliore.

Il tempo di esecuzione dipende molto dal numero di linee rilevate e dal numero di serie di linee parallele. Potresti migliorare un po 'considerando solo le linee con una lunghezza minima, giocando con la soglia per le quali le linee sono considerate parallele, ecc.

Problemi correlati