Python在cv2.destroyWindow()之后冻结

cas*_*son 9 opencv python-2.7

我在Mac OS X(Lion)上使用Python 2.7下的openCV ......每当我运行代码来简单地显示相机源(来自iSight)时,Python会冻结.看起来相机实际上并没有被清理干净.我使用了相同代码的许多不同版本(下面,来自SO上的一个不同的问题)并得到相同的结果(无论是在cv还是cv2).任何人都知道为什么会这样吗?这是代码:

import cv2

cv2.namedWindow("camera",1)
capture = cv2.VideoCapture()
capture.open(0)
while True:
    img = capture.read()[1]
    cv2.imshow("camera", img)
    if cv2.waitKey(10) == 27: break
cv2.destroyWindow("camera")
Run Code Online (Sandbox Code Playgroud)

小智 4

这是所有基于 *nux 的系统的问题。请查看这个问题以及 StackOverflow 上其他问题的答案。

DestroyWindow 不会使用 Python 和 OpenCV 关闭 Mac 上的窗口

简而言之,您似乎需要为 OpenCV 中的消息泵调用 waitKey() 。