首页 > 解决方案 > Python 图像窗口在 Mac 上未正确关闭

问题描述

我正在使用 OpenCV 并试图解决这个问题。当我想阅读并显示图像时:

import cv2

img = cv2.imread('baboon.jpg', 0)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyWindow('image')

我写这个。但是每当弹出图像显示窗口时,我都无法关闭它并执行之后的所有操作

cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyWindow('image')

因为除非我退出,否则窗口不会关闭。

例如,如果我运行此代码

import cv2

img = cv2.imread('baboon.jpg', 0)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyWindow('image')
#Nothing after this will get executed
print('Hello')

我的控制台没有输出,但会弹出图像窗口。

我怎样才能解决这个问题?

(如果有帮助,我正在使用 Pycharm)

编辑:

似乎每当我按下任何键时,窗口都会关闭并按预期工作(执行注释后的代码)。不知道为什么会这样。

标签: pythonmacosopencvpycharm

解决方案


我相信退出是作为一个中断,它会退出整个 python 程序。这与按一个键不同,它被合并到实际程序的逻辑中并继续完成:

cv2.waitKey(0) # waits for any key to be pressed to continue the logic of the program
# this is what actually allows you to "display" an image without it immediately disappearing.

推荐阅读