OpenCV:cv :: imshow()冻结

时间:2012-07-19 01:50:55

标签: opencv freeze

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

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

我正在使用Ubuntu 12.04(以及Ubuntu 11.10 - 这种情况发生在我的两台不同摄像头的机器上)和OpenCV 2.3.1。

1 个答案:

答案 0 :(得分:0)

我能解决这个问题的一种方法是使用     CV ::的DestroyWindow() 在调用一个窗口后。如果您只是显示一系列图片,那么效果会很好,但如果您正在显示视频,效果不会很好。