2012-06-24 74 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);