我想合并几个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);