我在 google 或 stackoverflow 上查看了其他问题,他们正在谈论在脚本中运行 cv2.imshow,但我的代码在 jupyter notebook 中运行。
这是我的配置:
Ubuntu 16.4x64
蟒蛇3.5
打开CV 3.1.0
我启动了一个 jupyter 笔记本:这是我放在笔记本中的代码:
%pylab notebook
import cv2
cvim2disp = cv2.imread('data/home.jpg')
cv2.imshow('HelloWorld', cvim2disp)
cv2.waitKey() #image will not show until this is called
cv2.destroyWindow('HelloWorld') #make sure window closes cleanly
当我执行这些代码时。图片会弹出一个窗口,但是我不能通过点击右上角的x关闭这个窗口,片刻之后,系统会提示我窗口没有响应,它会给我2个选择:“等待”,“退出”。如果我点击等待,稍后它会显示相同的提示,如果我点击“fore quit”,那么 jupyter notebook 内核就会死掉,我必须重新开始。
我四处搜索,许多解决方案建议我应该添加此代码
cv2.startWindowThread()
之前 imshow
,但情况变得更糟,内核永远挂起!。任何人都知道发生了什么。
原文由 scott huang 发布,翻译遵循 CC BY-SA 4.0 许可协议