使用OpenCV窗口进行全屏显示

Tub*_*bbs 13 c++ opencv fullscreen

我目前正在用C++制作一个OpenCV项目,在那里我用kinect寻找运动并用它来提示幻灯片(没有识别).目前,我正在使用OpenCV显示幻灯片(因为我只有大约一周的时间来推动它).它看起来很好而且很快.唯一的问题是,这将是一个大型制作的展示,我真的不能让窗口显示(我正在谈论像标题栏等窗口装饰).

我需要摆脱标题栏.我已经做了很多研究,我发现你可以通过调用cvGetWindowHandle("SlideShow")来神奇地抓住窗口句柄,但这是一个无效函数,所以我真的不知道我应该如何得到一个处理来操纵.

我正在为windows和ubuntu开发这个,因为它最终会在Windows机器上运行,但我只能在运行ubuntu的笔记本电脑上进行演示.

如果有人可以告诉我如何使用窗口并使用调整大小的图像全屏显示它以填充大多数(如果不是Windows或Ubuntu中的整个屏幕),我将永远感激.

Ara*_*ras 21

我在Ubuntu 11.04上使用OpenCV 2.1.在我的系统上,CV_WINDOW_FULLSCREEN和CV_WINDOW_AUTOSIZE标志都映射到1并且两个标志的行为完全相同.它们为您提供了一个固定大小的窗口,对于AUTOSIZE标志而不是FULLSCREEN.我认为这两个标志是用于不同的功能,虽然它们的simillar外观非常混乱.标志CV_WINDOW_NORMAL映射到值0,这是您使用的.它为您提供了一个可以最大化的可调整大小的窗口,但它不是一个全屏窗口.

编辑:我刚刚在另一个stachoverflow帖子中找到了解决方案.以下是该帖子的解决方案,该系统在我的系统上运行良好:

    cvNamedWindow("Name", CV_WINDOW_NORMAL);
    cvSetWindowProperty("Name", CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN);
    cvShowImage("Name", your_image);
Run Code Online (Sandbox Code Playgroud)

我得到一个真正的全屏,没有标题栏等.