2014-07-21 14 views
5

C'è un modo semplice per moltiplicare Mat e Vec_? (A condizione, che hanno dimensioni appropriate, ad esempio:?Mat e Vec_ moltiplicazione tipi

Mat_<double> M = Mat(3,3,CV_32F); 
Vec3f V=(1,2,3); 
result = M*V //? 

Forse c'è qualche metodo facile di creare riga (o col) Mat sulla base di Vec3

risposta

5

Non si può semplicemente moltiplicare Mat e Vec (. o, più in generale, Matx_) elementi Cast l'Vec oggetto da Mat:

Mat_<float> M = Mat::eye(3,3,CV_32F); 
Vec3f V=(1,2,3); 
Mat result = M*Mat(V); 

Inoltre, ho notato un errore nel codice: wh en constructing M, il tipo CV_32F corrisponde a float elementi, non double. Questo è anche corretto nel mio esempio di codice.

Spero che sia d'aiuto.