OpenCV3 将四幅图片连接(拼接)成一幅图片显示

程序源代码:

#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
	//读入四幅图片
	Mat image_1 = imread("1.bmp");
	Mat image_2 = imread("2.bmp");
	Mat image_3 = imread("3.bmp");
	Mat image_4 = imread("4.bmp");

	//归一化为相同的大小:320*240
	Size sz = Size(320, 240);
	resize(image_1, image_1, sz);
	resize(image_2, image_2, sz);
	resize(image_3, image_3, sz);
	resize(image_4, image_4, sz);

	//创建连接后存入的图像
	Mat result(sz.height*2+1, sz.width * 2 + 1, image_1.type());

	//四幅图像拷贝,中间的一行(列)作为图像间分割线
	//第1幅,拷贝到左上角
	Rect roi_rect = Rect(0, 0, sz.width, sz.height);
	image_1.copyTo(result(roi_rect));

	//第2幅,拷贝到右上角
	roi_rect = Rect(sz.width+1, 0, sz.width, sz.height);
	image_2.copyTo(result(roi_rect));

	//第3幅,拷贝到左下角
	roi_rect = Rect(0, sz.height+1, sz.width, sz.height);
	image_3.copyTo(result(roi_rect));

	//第4幅,拷贝到右下角
	roi_rect = Rect(sz.width+1, sz.height+1, sz.width, sz.height);
	image_4.copyTo(result(roi_rect));

	//显示四幅图像连接后的图像
	imshow("result", result);
	waitKey(0);

	return 0;
}

拼接后的图像
OpenCV3 将四幅图片连接(拼接)成一幅图片显示_第1张图片

你可能感兴趣的:(OpenCV)