赞
踩
玩图像处理的时候发现处理结果总是单张图像单个窗口,于是封装了一个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;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。