基本上我有3个像这样的垫子:
Mat descriptors1
Mat descriptors2
Mat descriptors3
每个描述符的加载方式如下:
extractor->compute( object, kp, descriptors );
我如何在单个Mat中加入所有描述符(将一个mat添加到另一个)?
示例:
Mat fullDesc = descriptors1 + descriptors2 + descriptors3;
答案 0 :(得分: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);