如何在单一窗口中显示多个图像,opencv visual studio c ++ [英] How to Display Multiple Images in single window,opencv visual studio c++

查看:82
本文介绍了如何在单一窗口中显示多个图像,opencv visual studio c ++的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是openCv C ++的新手,我正在使用Opencv 2.4.3 visual studio C ++进行基于内容的图像检索的最后一年项目。我需要在单独的窗口中显示输入查询图像,并且类似在另一个窗口中的图像(多个图像)。请任何人帮助我......



这里源代码.....我给src输入同时加载多个图像并使用某些方程找到相似距离b / w源和多个目标图像....基于相似距离,这可以在单个窗口中按升序显示相似图像(很多)?? I我没有使用GUI,我正在开发visual studio c ++控制台应用程序.....





int main()

{

IplImage * srcimg;

IplImage * desimg;



srcimg = cvLoadImage(E:\\projectstuff\\imgDB\\flowers\\F3.jpg,1); // src image



// F. ile查找对象

struct _finddata_t c_file;



long hFile;







char imageDirectory [] =E:\\projectstuff\\imgDB\\花;

char imageFileType [] = jpg;

char fullImagePath [1000];

char buffer [1000];





sprintf(缓冲区,"%s \\ *。%s",imageDirectory,imageFileType);

hFile = _findfirst(buffer,& c_file);





/ *检查以确保目录中有文件* /

if(hFile = = -1L)

printf(当前目录中没有%s文件!\ n,imageFileType);

else

{< br $>


//列出目录中的所有文件

printf("文件列表:\ n" );



//遍历所有imageFileType图片

do

{

-------------



//加载图片

desimg = cvLoadImage(fullImagePath);





if(srcimg == 0 && desimg == 0)

{

// cout<<"错误!!"<< endl;

返回-1;

}





// ----------------相似距离----

printf (\ n两个图像之间的相似距离=%。f,相似度距离);







cvNamedWindow(用户输入,1);

cvNamedWindow(Destn,1);



cvShowImage(用户输入, srcimg);

cvShowImage(Destn Input,desimg);





} while(_findnext( hFile,& c_file)== 0);



//关闭文件查找器对象

_findclose(hFile);

}





waitKey(0);



cvReleaseImage(&srcimg);

cvReleaseImage(&desimg);



返回0;



}



< br $>














感谢你

Hi, I am new to openCv C++, I am doing my final year project on "Content Based Image Retrieval" using Opencv 2.4.3 visual studio C++,.. I need to display input query image in separate window, and Similar images(multiple images)in another window.Pls any one help me......

here source code ..... I'm giving src input image and loading multiple images simultaniously and finding similarity distance b/w source and multiple destination images using some equation.... based on similarity distance is this possible to display similar images(many) in single window in ascending order??.. I'm not using GUI, I'm working on visual studio c++ console applications.....


int main()
{
IplImage* srcimg;
IplImage* desimg;

srcimg = cvLoadImage("E:\\projectstuff\\imgDB\\flowers\\F3.jpg",1);//src image

//File finding objects
struct _finddata_t c_file;

long hFile;



char imageDirectory[] = "E:\\projectstuff\\imgDB\\flowers";
char imageFileType[] = jpg;
char fullImagePath[1000];
char buffer[1000];


sprintf(buffer,"%s\\*.%s", imageDirectory, imageFileType);
hFile = _findfirst( buffer, &c_file );


/*Check to make sure that there are files in directory*/
if( hFile == -1L )
printf( "No %s files in current directory!\n", imageFileType );
else
{

// List all files in directory
printf( "Listing of files:\n" );

// Loop through all images of imageFileType
do
{
-------------

// Load image
desimg = cvLoadImage(fullImagePath);


if(srcimg == 0 && desimg == 0)
{
// cout<<"Error!!"<<endl;
return -1;
}


//----------------similarity distance ----
printf("\nSimilarity distance between two images = %.f",SimilarityDistance);



cvNamedWindow("User Input",1);
cvNamedWindow("Destn",1);

cvShowImage("User Input",srcimg);
cvShowImage("Destn Input",desimg);


} while( _findnext( hFile, &c_file ) == 0 );

// Close file finder object
_findclose( hFile );
}


waitKey(0);

cvReleaseImage(&srcimg);
cvReleaseImage(&desimg);

return 0;

}









Thanking You

推荐答案

这很简单。无论你是加载一堆图片并绘制全部图片还是创建一些显示图片的控件都取决于你。



我更喜欢你绘制一个大的静态控件你的照片。你需要一些关于控制的知识和一些重要的图片知识。



所以这是我最喜欢的图形文章: CxImage [ ^ ]
it is pretty easy. Whether you load a bunch of pictures and draw all or create some controls which display the pictures is up to you.

I would prefer a big static control in which you draw your pics. You need some knowledge about controls and some heavy lifting for pictures.

So here is my favourite graphic article: CxImage[^]


DisplayManyImages的OpenCV教程可能有帮助。



http://code.opencv.org/projects/opencv/wiki/DisplayManyImages [ ^ ]
The OpenCV tutorial of DisplayManyImages may help.

http://code.opencv.org/projects/opencv/wiki/DisplayManyImages[^]


这篇关于如何在单一窗口中显示多个图像,opencv visual studio c ++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆