OpenCV2.3中窗口全屏问题

#include 
#include 
#include 

int main()
{
	CvCapture* pCap = cvCreateCameraCapture( 1 );  
	IplImage *frame = NULL;  
	const std::string window_name ("Camera");
	if (cvCreateCameraCapture == NULL)  
	{  
		return(0);  
	}  

	// cvNamedWindow("Camera",CV_WINDOW_FULLSCREEN);  
	cvNamedWindow( window_name.c_str(), CV_WINDOW_NORMAL  );
	cvSetWindowProperty( window_name.c_str(), CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN );

	while ((frame = cvQueryFrame(pCap)) != 0 &&  cvWaitKey(20) != 27)    
	{  
		frame = cvQueryFrame(pCap);  
		cvShowImage("Camera", frame);   
	}  

	cvReleaseCapture(&pCap);    
	cvDestroyWindow("Camera");  
	return 0;
}

上面的代码 直接使用Win32的窗口系统,但是 测试结果并不能实现窗口的全屏

差了一下opencv的wiki:http://opencv.itseez.com/modules/highgui/doc/qt_new_functions.html#setwindowproperty

为什么把cvSetWindowProperty这些函数放在了Qt New Functions目录下,难道这些函数只争对Qt窗口系统才有效?后来编译Qt窗口版本的sdk,(可以到我资源中下载:http://download.csdn.net/detail/dizuo/3583404),测试了一下Qt版的opencv sdk,下面的语句确实可以实现全屏

		cvNamedWindow( window_name.c_str(), CV_WINDOW_NORMAL  );
		cvSetWindowProperty( window_name.c_str(), CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN );
查了一下opencv2.3的bug list: https://code.ros.org/trac/opencv/ticket/1114,文章大意是说cvNamedWindow中的两个宏定义的值应该互换。。。

系统环境Win7 + vs2008

你可能感兴趣的:(C++,OpenCV)