2

我编写了一些代码,目前由两个窗口组成,以显示某些处理算法的不同阶段。很简单,我已经创建了两个窗口cv::namedWindow(),并且我正在cv::Mat显示cv::imshow()。我遇到了一个问题,即不时随机(但并非总是)cv::imshow()拒绝更新两个窗口。该程序没有挂起,我可以看到它仍在工作并处理传入的帧(因为我正在将内容打印到终端以显示这一点),只是窗口没有显示新帧。我cv::waitKey(2)在每次调用后都包括在内cv::imshow(),但这无济于事。

这很烦人,我似乎在网上找不到任何东西。这并不总是发生,但它经常发生。有时需要几分钟,有时需要几秒钟。

我正在使用带有 OpenCV 2.3.1 的 Ubuntu 12.04(和 Ubuntu 11.10 - 这发生在我的两台带有两个不同摄像头的机器上)。

4

1 回答 1

1

One way I've been able to get around that issue is by using cv::destroyWindow() after calling a window. This works well if you're just showing a sequence of images, but not so well if you're showing video.

于 2012-07-19T13:32:40.930 回答