2011-11-22 13 views
7

Provo a utilizzare la funzione fitLine() da OpenCV 2.1, ma è necessario convertire il mio vector<Point> in Mat. Come posso fare questo?Converti Vector <Point> a Mat

vector<Point> line_points; 
Vec4f line; 
fitLine(line_points, line, CV_DIST_L2, 0.0, 0.01, 0.01); 

risposta

10

In realtà è molto semplice - Mat fornisce un costruttore per la conversione tra vettore di punti e di un Mat. Tutto ciò che serve è questo:

fitLine(Mat(line_points), line, CV_DIST_L2, 0.0, 0.01, 0.01); 

Questo è menzionato in the documentation.

+0

Mat mat = Mat (line_points); Problema semantico: il cast in stile funzionale da "Vector " a "cv :: Mat" non è consentito – Ben

+0

Strano, funziona nel mio codice ... Assicurati di utilizzare 'std :: vector ', non una sorta di la tua implementazione 'Vector'. –

+0

questo era il problema ... grazie! – Ben

Problemi correlati