2012-06-24 29 views
7

Básicamente tengo 3 esterilla así:Merge multiple cv :: Mat?

Mat descriptors1 
Mat descriptors2 
Mat descriptors3 

que cada descriptores se han cargado así:

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

¿Cómo podría unirse en una sola Mat todos los descriptores (Añade una estera a la otro)?

Ejemplo:

Mat fullDesc = descriptors1 + descriptors2 + descriptors3; 

Respuesta

14

No muy eficaz, pero corto:

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

Después de que descriptors1 habrá una concatenación.


También hay una función indocumentado 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); 
Cuestiones relacionadas