水平合并cv :: Mat

我想合并几个cv::Mat ,当我使用mat1.push_back(mat2)它将mat2垂直添加到mat1的末尾,有没有办法做到这一点水平? 我能想到的唯一的另一个select是将每个cv::Mat变成cv::RotatedRect ,旋转它,创build一个新的Mat ,合并,以相同的方式结束所有的旋转,但是如果有其他方式

看看hconcat和vconcat。

用法:

 Mat M1,M2,HM,VM; // M1 and M2 - source matrices // MH,MV - results ... hconcat(M1,M2,HM); // horizontal concatenation vconcat(M1,M2,VM); // vertical concatenation 

保重,这些方法没有记录。

有一个非常简单的方式来并排显示两个图像。 可以使用opencv提供的以下函数。

 Mat image1, image2; hconcat(image1,image2,image1);//Syntax-> hconcat(source1,source2,destination); 

这个功能也可以用来将一组图像从一个图像复制到另一个图像。

 Mat image; Mat columns=image.colRange(20,30); hconcat(image,columns,image);