2012-06-24 2 views
7

В принципе у меня есть 3 мат, как это:Объединить несколько cv :: Mat?

Mat descriptors1 
Mat descriptors2 
Mat descriptors3 

Где каждый дескрипторы были загружены, как это:

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

Как я мог присоединиться к одной Мату всех дескрипторов (добавить один мат в Другие) ?

Пример:

Mat fullDesc = descriptors1 + descriptors2 + descriptors3; 

ответ

14

не очень эффективны, но короткие:

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

После этого descriptors1 будет конкатенации.


Также есть недокументированная функция 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); 

 Смежные вопросы

  • Нет связанных вопросов^_^