【Opencv(C++)】调用Easyx单窗口显示多幅图像

        玩图像处理的时候发现处理结果总是单张图像单个窗口,于是封装了一个ShowImage方法实现多图单窗口输出。

        Tip:首先需要安装easyx库才能包含graphics头,easyx安装直接到easyx官网下载运行安装即可。

#include <opencv2/opencv.hpp>
#include <vector>
#include <graphics.h>

using namespace cv;
using namespace std;

void ShowImage(int num) {                       //通过改变num值改变同窗口图片数
	vector<IMAGE> src(num);
	int width = 400;                            //可以通过改变宽高实现改变图片显示的大小
	int height = 300;
	initgraph(width * (num > 1 ? 2 : 1) + 1, height * (num / 2 + num % 2) + 1, 1);
	for (int i = 0; i < num; ++i) {
	    char dst[10];
		sprintf_s(dst, "%d.jpg", i+1);          //此处设置图片名称为1.jpg、2.jpg
		loadimage(&src[i], dst, width, height);	
		putimage((width + 1) * (i % 2), (height + 1) * (i / 2), &src[i]);
	}
}

int main() {	
	Mat rgb, hsv;
	rgb = imread("1.jpg");
	cvtColor(rgb, hsv, COLOR_BGR2HSV);
	imwrite("2.jpg", hsv);
	ShowImage(2);   
	while (1);	
	closegraph();
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值