opencv cv2.destroyAllWindows()没有响应

时间:2014-03-27 08:09:51

标签: python opencv

我有64位,ubuntu系统。我在idel中运行代码。 我正面临opencv挂起问题,图像显示但我必须强行杀死图像窗口。所以参考了这个帖子 - Using other keys for the waitKey() function of opencv

import cv2
img = cv2.imread('sof.jpg') # load a dummy image
while(1):
    cv2.imshow('img',img)
    k = cv2.waitKey(3000) & 0xff
    if k==32:    # SpaceBar key to stop
        break
    elif k==-1:  # normally -1 returned,so don't print it
        continue
    else:
        print k # else print its value

仍然没有工作的图像挂起,我必须手动关闭它。

2 个答案:

答案 0 :(得分:0)

尝试:

k = cv2.waitKey(3000) & 0xff

答案 1 :(得分:0)

添加cv2.waitkey(0)和cv2.destroyallwindows()但是如果您使用过python笔记本,则基于Unix的系统中存在运行opencv程序的问题。它会导致系统冻结,因此每次尝试执行代码时都需要重新启动内核。

我有一种可以防止冻结系统的替代方法

步骤:

  1. - 从python笔记本中复制代码并创建新的filename.py并粘贴它
    • 打开终端
    • cd path / to / file
    • source activate VirtualEnvironment
    • python filename.py
  2. 这将直接从终端运行代码。 希望这对你有所帮助。 示例链接:https://youtu.be/8O-FW4Wm10s