1.问题描述
spyder中使用opencv的imshow打开图片,在结束程序后出现异常。
2.分析及解决
(1) 未添加关闭窗口的指令
在程序结尾添加以下代码,程序结束后在打开的图像窗口中点击空格键(或esc、tab等按键),此时窗口会关闭,程序正常终止。
cv2.waitKey(0)
cv2.destroyAllWindows()
(2) 程序中途报错退出,强行关闭图片窗口终止程序,下一次运行时报错或控制台崩溃。
解决方法1:重启spyeder
解决方法2:在控制台中选择“重启Ipython内核”
解决方法3:改变程序,使用try语句
示例:
import cv2
try:
picture = cv2.imread("不存在.jpg")
'''图片不存在时,picture为none,试图显示会报错'''
cv2.imshow("原图", picture)
except:
print("出错了!")
cv2.waitKey(0)
cv2.destroyAllWindows()
解决方法4:更换编译器。