在OpenCV中连接Mat

Moa*_*sry 7 opencv concatenation opencv-mat

我有几个Mat相同尺寸的物体中的图像我想创建一个bix cv::Mat对象来保存它们

所以新矩阵的维数是:widthNew = widthOld x矩阵数,高度保持不变.

我发现这样的副本可以使用:

void cvCopy(const CvArr* src, CvArr* dst, const CvArr* mask=NULL)
Run Code Online (Sandbox Code Playgroud)

但是,对于三个矩阵,如何将掩模定义为三个不同的时间?

此致,Moataz

Mar*_*ett 6

您使用roi来定义图像,该图像实际上是目标图像的一个区域,然后复制到该图像.请参阅另一个ROI中的复制cv :: Mat


Ang*_*ano 5

我认为有一个简单的方法可以做到这一点。OpenCV有一个未记录的方法,称为hconcat()vconcat()。第一个用于水平串联,第二个用于垂直串联。

您可以通过以下方式使用它们:

Mat A, B;
... //In this part you initialize the Mat A and Mat B.

Mat H, V; //These are the destination matrices
hconcat(A, B, H);
vconcat(A, B, V);
Run Code Online (Sandbox Code Playgroud)

希望对您有所帮助。