OSG窗口阻止OpenCV窗口的刷新
OSG window blocks refresh of OpenCV window
我有一个应用程序,它在OpenCV窗口中显示(处理过的)网络摄像头输出(使用imshow),在另一个线程中,还有一个显示一些几何图形的OSG窗口。问题是,只要OSG窗口正在刷新,OpenCV窗口就不会更新(线程中的所有处理都会发生,只是调用imshow什么都不做)。如果我拖动OSG窗口,禁用刷新,OpenCV窗口将开始正常更新。
你知道为什么会发生这种事吗?
(Windows 8,NVIDIA Quattro K2100,VC++)
您需要在OpenSceneGraph查看器循环中调用cv::waitKey()
函数来更新您的OpenCV窗口。这意味着不能简单地使用OpenSceneGraph函数viewer.run()
。相反,您必须使用以下查看器循环:
while (!viewer.done())
{
cv::waitKey(1);
viewer.frame();
}
相关文章:
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 问:如何使用C++中的按钮从窗口打开窗口
- SDL 窗口不会弹出
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 如何在cpp文件之间切换窗口?在Qt中
- 通过注册表更改鼠标设置后,刷新窗口
- OSG窗口阻止OpenCV窗口的刷新
- C++ WINAPI 窗口不刷新
- GDI 窗口中的游戏循环/一段时间后不刷新并崩溃
- X11 窗口在获取事件之前不会刷新
- 如何刷新/重绘屏幕(不是程序窗口)
- WinAPI 窗口在绘制后不刷新
- ncurses:是否可以在不删除边框的情况下刷新窗口
- linux上多个QML窗口不能正常刷新
- 当按下键时,窗口停止刷新
- 使用护士刷新重叠的窗口
- 如何在空闲函数中刷新窗口
- c++ MFC刷新窗口
- GLUT窗口不会刷新
- opencv窗口在鼠标回调时未刷新