我正在通过Jupyter笔记本运行OpenCV,每当我尝试运行cv2.imshow()时,内核崩溃,没有错误消息或有用的提示 - 只是一个简单的
The Kernel appears to have died. It will restart automatically.
这是我正在运行的代码......
import cv2
input = cv2.imread('images/input.jpg')
cv2.imshow('Hello World', input)
cv2.waitKey(0)
cv2.destroyAllWindows()
当我运行以下代码时,代码可以工作(尽管不同)
%matplotlib inline
from matplotlib import pyplot as plt
import cv2
image = cv2.imread('images/input.jpg')
plt.imshow(image)
plt.show()
仅供参考我在AWS上使用完全未改变的BitFusion副本。
https://aws.amazon.com/marketplace/pp/B01EYKBEQ0?ref=cns_srchrow
知道可能出现什么问题吗?
答案 0 :(得分:3)
我现在无法解释代码的行为,但您可以使用以下代码来实现上述行为。
%matplotlib inline
from matplotlib import pyplot as plt
import cv2
image = cv2.imread('images/input.jpg')
plt.imshow(image)
plt.show()
答案 1 :(得分:2)
要在AWS上使用cv2.imshow
查看图像,您需要启用X11转发,以便图形可以在服务器上运行并在本地显示。可以通过使用-Y
选项ssh-ing来完成:
ssh -Y username@hostname
如果图像较大,则还需要使用-C
压缩数据:
ssh -Y -C username@hostname
只要您正在显示笔记本中的图像,用于SSH到AWS的终端都将保持打开状态。