Opencv中如何将两幅图像连接成一幅图像(Mat操作)

问题如下:

1、定义两幅图像Mat image1image2,假设两幅图像同样大小

2、定义一幅图像Mat result,要将image1image2连接到一起放到result中,假设image1image2左右排列

//读取两幅图像
Mat image_one=imread("1.jpg");
Mat image_two=imread("2.jpg");
//创建连接后存入的图像,两幅图像按左右排列,所以列数+1
Mat result(image_one.rows,image_one.cols+
image_two.cols+1,image_one.type());
//图像拷贝,不能用Mat中的clone和copyTo函数,单幅图像拷贝可用,clone和copyTo不仅拷贝图像数据,还拷贝一///些其他的信息
//而现在是将两幅图像的数据拷贝到一副图像中,只拷贝图像数据
//因此用colRange来访问图像的列数据colRange第一参数是起始列,是从0开始索引,而第二个参数是结束列,
//从1开始索引,与我们以前使用的不同,因此,参数分别为0和image_one.cols
image_one.colRange(0,image_one.cols).
copyTo(result.colRange(0,image_one.cols));
//第二幅图像拷贝,中间的一行作为两幅图像的分割线
image_two.colRange(0,image_two.cols).copyTo(
result.colRange(image_one.cols+1,result.cols));
imshow("result",result);
waitKey(0);





 
  

你可能感兴趣的:(Opencv)