Table of Contents
出问题的代码
现象
解决办法
完整版代码
参考文章
补充说明
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import cv2
img = cv2.imread("F:/images/lena.jpg", cv2.IMREAD_COLOR)
cv2.imshow("img", img)
cv2.waitKey()
之前按任意键即可退出的cv2.imshow()的图片,现在出问题了……
估计是最近电脑被我折腾得太厉害……
只能尝试手动关闭cv2.imshow()的图片,会出现not responding(没有回应),然后环境崩溃,如下图:
结果只能去任务栏(工作列)那右击->关闭窗口,出现下图:再选择“结束处理程序”。
网上找到了别人提供的解决办法,实验下还是有效果的,贴在下方:
1. 使用cv2.destroyAllWindows()关闭图片
2. 或者像下面按Esc键再使用cv2.destroyAllWindows()关闭图片
注意:要退出时需要将鼠标点击cv2.imshow的窗口上才能按Esc键退出。
k = cv2.waitKey(0) # waitkey代表读取键盘的输入,括号里的数字代表等待多长时间,单位ms。 0代表一直等待
if k == 27: # 键盘上Esc键的键值
cv2.destroyAllWindows()
3. cv2.destroyAllWindows()如果失效的话,可以在cv2.imshow()前加cv2.startWindowThread(),如下:
cv2.startWindowThread() # 方法三
cv2.imshow("img", img) # 显示图片
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import cv2
img = cv2.imread("F:/images/lena.jpg", cv2.IMREAD_COLOR) # 从磁盘加载图像
cv2.startWindowThread() # 方法三
cv2.imshow("img", img) # 显示图片
# 方法一:按任意键直接销毁所有打开的HighGUI窗口
cv2.waitKey(0) # 等待用户输入,按任意键即可
cv2.destroyAllWindows()
# 方法二:按Esc键退出
# k = cv2.waitKey(0) # waitkey代表读取键盘的输入,括号里的数字代表等待多长时间,单位ms。 0代表一直等待
# if k == 27: # 键盘上Esc键的ASCII值为27
# cv2.destroyAllWindows()
python opencv imshow 图片不显示 not responding
cv2.destoryAllWindows()无效的解决方法
其实之前的代码出现这个问题是因为运行方式不同造成的。
如果换成在控制台下直接运行,不会出现宕机,是可以按任意键退出的,如下图:
出现这个问题是因为我在PyCharm中点击右键->运行,如下图: