2012-06-24 19 views
7

Fondamentalmente ho 3 mat come questo:Unisci più cv :: Mat?

Mat descriptors1 
Mat descriptors2 
Mat descriptors3 

cui ogni descrittori di essere stato caricato in questo modo:

extractor->compute(object, kp, descriptors); 

Come avrei potuto unirsi in un unico Mat tutti i descrittori (aggiungi un tappetino per il altro) ?

Esempio:

Mat fullDesc = descriptors1 + descriptors2 + descriptors3; 

risposta

14

Non molto efficace, ma breve:

descriptors1.push_back(descriptors2); 
descriptors1.push_back(descriptors3); 

Dopo che descriptors1 sarà una concatenazione.


Inoltre v'è una funzione non documentata vconcat:

void vconcat(const Mat* src, size_t nsrc, OutputArray dst); 
void vconcat(InputArray src1, InputArray src2, OutputArray dst); 
void vconcat(InputArrayOfArrays src, OutputArray dst); 
Problemi correlati