opencv.imshow 会导致 jupyter notebook 崩溃

新手上路,请多包涵

我在 google 或 stackoverflow 上查看了其他问题,他们正在谈论在脚本中运行 cv2.imshow,但我的代码在 jupyter notebook 中运行。

这是我的配置:

  1. Ubuntu 16.4x64

  2. 蟒蛇3.5

  3. 打开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 许可协议

阅读 1.2k
1 个回答
%matplotlib inline
#The line above is necesary to show Matplotlib's plots inside a Jupyter Notebook

import cv2
from matplotlib import pyplot as plt

#Import image
image = cv2.imread("input_path")

#Show the image with matplotlib
plt.imshow(image)
plt.show()

原文由 Ritu dhoot 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题