考虑两个矩阵作为以下sample_method()
方法的输入参数,我想合并这两个矩阵m1
并m2
在一个新的矩阵m12
中。我阅读了这个参考,然后也阅读了这个参考,但这两种解决方案将数据从源矩阵复制到目标矩阵。
bool sample_method(const Mat& m1, const Mat& m2)
{
if(m1.cols != m2.cols)
{
cout << "Error: m1.cols != m2.cols" << endl;
return false;
}
Mat m12(m1.rows+m2.rows,m1.cols,DataType<float>::type);
// merging m1 and m2
m12(Rect(0,0,m1.cols,m1.rows)) = m1;
m12(Rect(0,m1.rows,m2.cols,m2.rows)) = m2;
return true;
}
如何在不复制数据的情况下将两个 Mat 连接到一个 Mat 中?为什么我的代码不起作用?