OpencvにおけるMatマトリクスのマージと接合
Opencvは、2つのマトリクスを行または列でマージする方法
Matlabで2つのマトリクスをマージするのは便利です.A=[B C];A=[B;C]のような列でマージすると、opencvには、マトリクスのマージと画像の接合に使用されるvconcat関数とhconcat関数があります.
実はこの2つの関数を使わないで、C++の中で自分で簡単にMat行列の合併を実現することができます:
Matlabで2つのマトリクスをマージするのは便利です.A=[B C];A=[B;C]のような列でマージすると、opencvには、マトリクスのマージと画像の接合に使用されるvconcat関数とhconcat関数があります.
vconcat(B,C,A); // A=[B ;C]
hconcat(B,C,A); // A=[B C]
実はこの2つの関数を使わないで、C++の中で自分で簡単にMat行列の合併を実現することができます:
Mat posMat = Mat::zeros(posNo, colsNo, CV_32FC1),
negMat = Mat::zeros(negNo, colsNo, CV_32FC1),
FeatureMat = Mat::zeros(posNo + negNo, colsNo, CV_32FC1),
tmpMat;//
// ,
tmpMat = FeatureMat.rowRange(0, posNo);
cout << "tmpMat row-Size is: " << tmpMat.rows << endl;
posMat.copyTo(tmpMat);
tmpMat = FeatureMat.rowRange(posNo, posNo + negNo);
cout << "tmpMat row-Size is: " << tmpMat.rows << endl;
negMat.copyTo(tmpMat);