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