我检查了google或堆栈溢出的其他问题,他们说的是在脚本中运行cv2.imshow,但是我的代码运行在jupyter笔记本上。
这是我的配置:
我启动了一个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来关闭此窗口,稍后,系统会提示我窗口没有响应,它将给我两个选择:“等待”,“前退出”。如果我点击等待,那么它将显示相同的提示稍后,如果我点击‘前退出’,那么jupyter笔记本内核死亡,我必须重新开始。
我到处搜索,许多解决方案建议我应该添加这段代码。
cv2.startWindowThread()
在imshow
之前,但是情况变得更糟了,内核永远挂起!任何人都知道发生了什么事。
这是我错误的照片:
发布于 2020-05-11 05:06:18
image = cv2.imread(file_path)
while True:
# Press 'q' for exit
exit_key = ord('q')
if cv2.waitKey(exit_key) & 255 == exit_key:
cv2.destroyAllWindows()
break
cv2.imshow('Image_title', image)
https://stackoverflow.com/questions/46236180
复制相似问题