Linux下的OpenCV HighGui全屏

时间:2012-09-27 05:25:15

标签: c++ ubuntu opencv

我正在尝试制作一个简单的全屏应用,以使用Open CV显示相机的输出。我已经开发了大部分代码,我只是想让它适当地全屏显示。我已经减少了以下最基本的基本代码(取自OpenCV网站):

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>

int main ( int argc, char **argv )
{
  cvNamedWindow( "My Window", 1 );
  IplImage *img = cvCreateImage( cvSize( 1920, 1200 ), IPL_DEPTH_8U, 1 );
  CvFont font;
  double hScale = 1.0;
  double vScale = 1.0;
  int lineWidth = 3;
  cvInitFont( &font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC, hScale, vScale, 0, lineWidth );
  cvPutText( img, "Hello World!", cvPoint( 200, 400 ), &font, cvScalar( 255, 255, 0 ) );
  cvSetWindowProperty( "My Window", CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN );
  cvShowImage( "My Window", img );
  cvWaitKey();
  return 0;
}

当我运行此窗口时,窗口以所请求的1920x1200分辨率创建,但它不是全屏,它只是一个普通的HighGUI窗口。我可以发誓我早些时候有这个工作,但是自从破坏并重新安装了Ubuntu之后,感觉我可能已经忘记了一些事情。

1 个答案:

答案 0 :(得分:4)

更改

cvNamedWindow( "My Window", 1 );

cvNamedWindow( "My Window", CV_WINDOW_NORMAL );

检查flags for cvNamedWindow