![](/img/trans.png)
[英]DisabledFunctionError: cv2.imshow() is disabled in Colab, because it causes Jupyter sessionsto crash
[英]cv2.imshow() crashes Kernel
我正在通过 Jupyter 笔记本运行 OpenCV,每当我尝试运行 cv2.imshow() 时,kernel 就会崩溃,没有错误消息或有用的提示 - 只是一个普通的
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
知道可能出了什么问题吗?
我现在无法解释您的代码的行为,但您可以使用下面的代码来实现上述行为。
%matplotlib inline
from matplotlib import pyplot as plt
import cv2
image = cv2.imread('images/input.jpg')
plt.imshow(image)
plt.show()
要在 AWS 上使用cv2.imshow
查看图像,您需要启用 X11 转发,以便图形可以在服务器上运行并在本地显示。 这可以通过带有-Y
选项的 ssh-ing 来完成:
ssh -Y username@hostname
如果图像较大,您还需要使用-C
压缩数据:
ssh -Y -C username@hostname
只要您显示笔记本中的图像,用于 ssh 进入 AWS 的终端就需要保持打开状态。
所以对我来说,这个问题是通过放置一个while循环来解决的,当你按下键盘上的键D时结束
import cv2 as cv
img = cv2.imread('Images/1.jpg')
while True:
cv.imshow('ImageDisplay',img)
if cv.waitKey(20) & 0xFF == ord('d'):
break
cv.destroyAllWindows()
更新 numpy !!
pip install -U numpy --user
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.