在一个窗口上实现多图像显示

用OpenCV实现在一个窗口上显示多个图像,编译环境:win7 32bit + vs2010 + opencv 2.4.11。

源程序如下:

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"

using namespace cv;
using namespace std;

int main(int argc, char* argv[])
{
	Mat image1 = imread("fruits.jpg");		//分辨率512*480
	Mat image2 = imread("LinuxLogo.jpg");	//分辨率320*240
	Mat image3 = imread("WindowsLogo.jpg");	//分辨率320*240

	Mat manyImages(480,832,CV_8UC3,Scalar(0,0,0));		//主窗口

	Mat image1_1 = manyImages(Rect(0,0,512,480));
	Mat image2_2 = manyImages(Rect(512,0,320,240));
	Mat image3_3 = manyImages(Rect(512,240,320,240));
	
	resize(image1, image1_1,Size(512,480));
	resize(image2, image2_2,Size(320,240));
	resize(image3, image3_3,Size(320,240));
	
	imshow("manyImages",manyImages);
	waitKey(0);
	return 0;
}

有个注意的地方,定义窗口大小时第一个参数是行(高),第二个参数是列(宽)。矩形方法中第三个参数是长(列),第四个参数是高(行)。刚开始时显示不了图像就因为含义搞错了。

仅留存以后参考用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值