opencv里面 怎么把多个Mat合成为一个Mat?例如有100个1行128列的矩阵,怎么合成一个100行128列的矩阵?求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv里面 怎么把多个Mat合成为一个Mat?例如有100个1行128列的矩阵,怎么合成一个100行128列的矩阵?求相关的知识,希望对你有一定的参考价值。
大神指导?求代码 谢谢
#include <opencv2/opencv.hpp>using namespace cv;
int main( int argc, char **argv )
//这个矩阵是合成矩阵
Mat combineMat;
//假设这个是即将有100个1行128列的vector<Mat>
//具体的数据自己读入
vector<Mat> vMatSet( 100 );
/*
这里读入数据到vMatSet里,每个vMatSet[i]都是一行128列,例如:
for( int i = 0; i < 100; ++i )
vMatSet[i] = imread( "图像文件" );
*/
//下面要将多个Mat合成到comineMat里
for( int i = 0; i < 100; ++i )
combineMat.push_back( vMatSet[i] );
return 0;
希望能帮到你! 参考技术A 在Matlab中将两个矩阵合并非常方便,按行合并,如A=[B C]。按列合并如A=[B ;C]
OpenCV中有vconcat和hconcat函数,用于矩阵的合并与图像的拼接。
vconcat(B, C, A); // 等同于A=[B; C]
hconcat(B, C, A); // 等同于A=[B C]
写个循环,运用上面的vconcat函数,即可解决您的问题。
以上是关于opencv里面 怎么把多个Mat合成为一个Mat?例如有100个1行128列的矩阵,怎么合成一个100行128列的矩阵?求的主要内容,如果未能解决你的问题,请参考以下文章