OpenCV DestroyWindow不适用于Ubuntu.如何正确关闭窗口?

123*_*ray 7 python ubuntu opencv python-idle

在下面的代码中,DestroyWindow或DestroyAllWindows无法关闭ShowImage打开的窗口.当我尝试通过单击关闭按钮关闭它时,窗口暂停.杀死窗口后,整个IDLE关闭.

import cv
image = cv.LoadImage("../lena.bmp", 0)
cv.NamedWindow("test")
cv.ShowImage("test", image)
cv.WaitKey()
cv.DestroyWindow("test")  #or cv.DestroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

我在Ubuntu 12.04 LTS上使用OpenCV 2.4.2和Python 2.7.

我做错了什么,如何关闭由ShowImage创建的窗口?

小智 2

我相信 cv.WaitKey 应该用一个数字作为参数来调用,可以是 0 或 n > 0,其中 n>0 指定等待的毫秒数。

cv.WaitKey(0) 将无限期地等待键盘按下,然后返回字符输入。如果您还没有尝试过,按键盘按钮应该会关闭窗口。

  • 谢谢你的建议。但无论我将 WaitKey() 更改为 WaitKey(0) 或 WaitKey(1),窗口都保持不变。同样的代码在Windows 7下运行良好。我想知道OpenCV是否有其独特的方式在Ubuntu下创建和关闭窗口?或者OpenCV不支持最新的Ubuntu系统12.04 LTS? (2认同)