资源简介

OpenCV实现同一窗口显示多幅图片,开发平台OpenCV2.4.2+VS2008

资源截图

代码片段和文件信息

/************************************************************************
* Copyright(c) 2012  Yang Xian
* All rights reserved.
*
* File: showManyImage.cpp
* Brief: 
* Version: 1.0
* Author: Yang Xian
* Email: yang_xian521@163.com
* Date: 2012/08/28
* History:
************************************************************************/
#include 
#include 
#include 

using namespace cv;
using namespace std;

void imshowMany(const std::string& _winName const vector& _imgs);

int main(void)
{
vector imgs(6);
imgs[0] = imread(“cm.png“);
imgs[1] = imread(“wr.png“);
imgs[2] = imread(“lina.png“);
imgs[3] = imread(“dr.png“);
imgs[4] = imread(“pom.png“);
imgs[5] = imread(“qop.png“);

imshowMany(“DOTA2_Hero“ imgs);
waitKey();
return 0;
}

void imshowMany(const std::string& _winName const vector& _imgs)
{
int nImg = (int)_imgs.size();

Mat dispImg;

int size;
int x y;

// w - Maximum number of images in a row 
// h - Maximum number of images in a column 
int w h;
// scale - How much we have to resize the image
float scale;
int max;

if (nImg <= 0) 
{
printf(“Number of arguments too small....\n“);
return;
}
else if (nImg > 12)
{
printf(“Number of arguments too large....\n“);
return;
}

else if (nImg == 1)
{
w = h = 1;
size = 300;
}
else if (nImg == 2)
{
w = 2; h = 1;
size = 300;
}
else if (nImg == 3 || nImg == 4)
{
w = 2; h = 2;
size = 300;
}
else if (nImg == 5 || nImg == 6)
{
w = 3; h = 2;
size = 200;
}
else if (nImg == 7 || nImg == 8)
{
w = 4; h = 2;
size = 200;
}
else
{
w = 4; h = 3;
size = 150;
}

dispImg.create(Size(100 + size*w 60 + size*h) CV_8UC3);

for (int i= 0 m=20 n=20; i {
x = _imgs[i].cols;
y = _imgs[i].rows;

max = (x > y)? x: y;
scale = (float) ( (float) max / size );

if (i%w==0 && m!=20)
{
m = 20;
n += 20+size;
}

Mat imgROI = dispImg(Rect(m n (int)(x/scale) (int)(y/scale)));
resize(_imgs[i] imgROI Size((int)(x/scale) (int)(y/scale)));
}

namedWindow(_winName);
imshow(_winName dispImg);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-08-28 14:52  CVshowManyImage\
     目录           0  2012-08-28 15:09  CVshowManyImage\CVshowManyImage\
     文件    17148928  2012-08-28 15:14  CVshowManyImage\CVshowManyImage.ncb
     文件         911  2012-08-28 11:37  CVshowManyImage\CVshowManyImage.sln
     文件        8704  2012-08-28 15:14  CVshowManyImage\CVshowManyImage.suo
     文件      121146  2012-08-28 14:31  CVshowManyImage\CVshowManyImage\cm.png
     文件        3761  2012-08-28 14:56  CVshowManyImage\CVshowManyImage\CVshowManyImage.vcproj
     文件        1423  2012-08-28 15:14  CVshowManyImage\CVshowManyImage\CVshowManyImage.vcproj.HP98402794308.Administrator.user
     目录           0  2012-08-28 15:09  CVshowManyImage\CVshowManyImage\Debug\
     文件        6250  2012-08-28 15:09  CVshowManyImage\CVshowManyImage\Debug\BuildLog.htm
     文件         621  2012-08-28 15:09  CVshowManyImage\CVshowManyImage\Debug\CVshowManyImage.exe.intermediate.manifest
     文件          67  2012-08-28 15:09  CVshowManyImage\CVshowManyImage\Debug\mt.dep
     文件      145603  2012-08-28 15:09  CVshowManyImage\CVshowManyImage\Debug\showManyImage.obj
     文件      568320  2012-08-28 15:09  CVshowManyImage\CVshowManyImage\Debug\vc90.idb
     文件      528384  2012-08-28 15:09  CVshowManyImage\CVshowManyImage\Debug\vc90.pdb
     文件      122612  2012-08-28 14:32  CVshowManyImage\CVshowManyImage\dr.png
     文件      117537  2012-08-28 14:32  CVshowManyImage\CVshowManyImage\lina.png
     文件      118552  2012-08-28 14:32  CVshowManyImage\CVshowManyImage\pom.png
     文件       46644  2012-08-28 15:07  CVshowManyImage\CVshowManyImage\qop.png
     文件        2285  2012-08-28 15:09  CVshowManyImage\CVshowManyImage\showManyImage.cpp
     文件      120935  2012-08-28 14:31  CVshowManyImage\CVshowManyImage\wr.png
     目录           0  2012-08-28 15:09  CVshowManyImage\Debug\
     文件       53248  2012-08-28 15:09  CVshowManyImage\Debug\CVshowManyImage.exe
     文件      434944  2012-08-28 15:09  CVshowManyImage\Debug\CVshowManyImage.ilk
     文件      920576  2012-08-28 15:09  CVshowManyImage\Debug\CVshowManyImage.pdb

评论

共有 条评论