Qual è il modo più elegante ed efficiente per convertire un nidificato std::vector
di std::vector
s per cv::Mat
? La struttura nidificata contiene un array, ovvero tutti gli interni std::vector
hanno la stessa dimensione e rappresentano le righe della matrice. Non mi interessa che i dati vengano copiati da uno all'altro.Convertire uno std :: vector <std :: vector <double>> che rappresenta una matrice 2D per cv :: Mat
So che un singolo, non annidata std::vector
è molto facile, c'è un costruttore:
std::vector <double> myvec;
cv::Mat mymat;
// fill myvec
bool copy = true;
myMat = cv::Mat(myvec, copy);
Che dire del vettore annidato?
Definire "elegante ed efficiente". –
Qual è il vettore vettoriale che dovrebbe rappresentare? È un vettore di righe di matrice, o colonne o qualcos'altro? –
È un vettore di righe matriciali, l'ho modificato. @John Dibling "elegante ed efficiente" - Non voglio un chunk di codice lungo 3 miglia, e non voglio fare copie in eccesso del dati. – penelope