python - 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)
编辑:
似乎每当我按下任何键时,窗口都会关闭并按预期工作(执行注释后的代码)。不知道为什么会这样。
解决方案
我相信退出是作为一个中断,它会退出整个 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.
推荐阅读
- python - Python:如何使用列中的列表进行分组
- c# - Azure AD B2C + Azure 移动应用程序 - MobileServiceInvalidOperationException
- c++ - 为什么在这段代码片段中复制构造函数被调用了两次?
- here-api - 带有 Trucknopttile 覆盖的路由地图图像 API?(休息)
- c# - 如何在代码文档中正确指定函数可能在 C# 上返回 null?
- activemq - 使用 AMQSource 的 Flink 作业不会生成输出
- c# - 如何从另一个对象中的脚本激活对象上的脚本?
- javascript - Ajax 请求获取错误的 url
- r - 如何从 R 中 PCA 的 ggbiplot 中删除不重要的箭头?
- netlogo - 为什么 NetLogo 创建一个 Blob 而不是一个清晰的形状?