3

我正在尝试制作一个简单的全屏应用程序来使用 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,并且有一种感觉我可能在此过程中忘记了一些东西。

4

1 回答 1

4

改变

cvNamedWindow( "My Window", 1 );

cvNamedWindow( "My Window", CV_WINDOW_NORMAL );

检查cvNamedWindow 的标志

于 2012-09-27T05:58:32.870 回答