采用OpenCV窗口,并使全屏
Take OpenCV window and make full screen
我目前正在用c++做一个OpenCV项目,在那里我用kinect寻找运动,并用它来提示幻灯片(无识别)。目前,我正在使用OpenCV来显示幻灯片(因为我只有大约一周的时间来制作)。看起来不错,而且很快。唯一的问题是,这将是一个大制作的展示,我真的负担不起展示的窗口(我说的是窗口装饰,如标题栏等)。
我需要去掉标题栏。我做了很多研究,我发现,你可以通过调用cvGetWindowHandle("SlideShow")神奇地抓住窗口句柄,但那是一个无效的函数,所以我真的不知道我应该如何从那得到一个句柄来操纵。
我正在为windows和ubuntu开发这个程序,因为它最终会在windows机器上运行,但我只能在运行ubuntu的笔记本电脑上演示。
如果有人能告诉我如何把窗口和渲染它的全屏与一个调整大小的图像,以填补大部分,如果不是整个屏幕在Windows或Ubuntu,我将永远感激。
我在Ubuntu 11.04上使用OpenCV 2.1。在我的系统上,CV_WINDOW_FULLSCREEN和CV_WINDOW_AUTOSIZE标志都映射到1两个旗子的行为完全相同。它们给你一个固定大小的窗口,这是AUTOSIZE标志所期望的,而不是全屏。我认为这两个标志意味着不同的功能,尽管它们相似的外观非常令人困惑。标志CV_WINDOW_NORMAL映射到值0,这就是您所使用的。它给你一个可调整大小的窗口,你可以最大化,但它不是一个全屏窗口。
编辑:我刚刚在另一个stachoverflow帖子中找到了解决方案。下面是那个帖子的解决方案,在我的系统上效果很好: cvNamedWindow("Name", CV_WINDOW_NORMAL);
cvSetWindowProperty("Name", CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN);
cvShowImage("Name", your_image);
我得到一个真正的全屏没有标题栏等
您可以使用cv::setWindowProperty函数,只需将其设置为CV_WINDOW_FULLSCREEN。
openCV-WIKI中的完整文档
在opencv/4.5.1中,是这样做的:
namedWindow("Name", WINDOW_NORMAL);
setWindowProperty ("Name", WND_PROP_FULLSCREEN, WINDOW_FULLSCREEN);
假设您已经添加了using namespace cv;
- 如果不在窗口 10 中声明名为 openCV 的 openCV namedWindow,QT 图像显示将无法正常工作
- 检测 OpenCV C++窗口上的触摸
- Opencv在2013年第5季度不起作用.应用程序总是在窗口中崩溃
- OpenCV 在窗口关闭时中止(核心转储)
- 有没有办法拿一个opencv显示窗口并将其保存到GUI窗口?
- opencv+SaperaLT++ 多个不需要的窗口与垃圾名称
- 如何使用Opencv,qt creator,ming gw窗口在一起
- 如何使用OpenCV在不同的显示器中显示不同的窗口
- 用于 Opencv 3.3.0 窗口的非自由模块
- 一秒钟后,OpenCV窗口消失了
- OpenCV在我移动命名窗口时崩溃
- destroyWindow(来自opencv)关闭所有窗口并停止c ++程序
- OSG窗口阻止OpenCV窗口的刷新
- 在 gstreamer 元素中打开 OpenCV 窗口
- 如何检查opencv窗口是否已关闭
- 使用关闭按钮关闭Opencv窗口
- 试图关闭OpenCV窗口没有效果
- opencv窗口在鼠标回调时未刷新
- 创建样本在哪里.exe?- OpenCV窗口
- 采用OpenCV窗口,并使全屏