cv2.imshow()崩溃了内核

Mik*_*e H 13 python opencv ipython amazon-web-services jupyter

我正在通过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()
Run Code Online (Sandbox Code Playgroud)

当我运行以下代码时,代码可以工作(尽管不同)

%matplotlib inline
from matplotlib import pyplot as plt
import cv2
image = cv2.imread('images/input.jpg')
plt.imshow(image)
plt.show()
Run Code Online (Sandbox Code Playgroud)

仅供参考我在AWS上使用完全不变的BitFusion副本.

https://aws.amazon.com/marketplace/pp/B01EYKBEQ0?ref=cns_srchrow

什么可能出错?

小智 5

我现在无法解释您的代码的行为,但是您可以使用以下代码来实现以上行为。

%matplotlib inline
from matplotlib import pyplot as plt
import cv2
image = cv2.imread('images/input.jpg')
plt.imshow(image)
plt.show()
Run Code Online (Sandbox Code Playgroud)

  • 这不是问题所问的。简历2。imshow() 不起作用。使用 plt 对这个问题没有帮助。 (5认同)

A K*_*ger 5

要在AWS上查看图像cv2.imshow,您需要启用X11转发,以便图形可以在服务器上运行并在本地显示。这可以通过 ssh-ing 选项来完成-Y

ssh -Y username@hostname
Run Code Online (Sandbox Code Playgroud)

如果图像较大,您还需要使用以下方法压缩数据-C

ssh -Y -C username@hostname
Run Code Online (Sandbox Code Playgroud)

只要您显示笔记本中的图像,用于 ssh 登录 AWS 的终端就需要保持打开状态。