合并多个cv :: Mat?

dyn*_*mic 7 opencv surf sift

基本上我有3个像这样的垫子:

Mat descriptors1
Mat descriptors2
Mat descriptors3
Run Code Online (Sandbox Code Playgroud)

每个描述符的加载方式如下:

extractor->compute( object, kp, descriptors );
Run Code Online (Sandbox Code Playgroud)

我怎么能在单个Mat中加入所有描述符(将一个mat添加到另一个)?

例:

Mat fullDesc = descriptors1 + descriptors2 + descriptors3;
Run Code Online (Sandbox Code Playgroud)

And*_*aev 14

不是很有效,但很短:

descriptors1.push_back(descriptors2);
descriptors1.push_back(descriptors3);
Run Code Online (Sandbox Code Playgroud)

之后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);
Run Code Online (Sandbox Code Playgroud)