使用 imshow() 时,图像未显示在 Google Colab 中

Image is not displaying in Google Colab while using imshow()

我正在做一个需要 OpenCV 函数来绘制图像的项目。 我正在尝试在 Google Colab 中使用以下代码显示图像。但输出中没有显示任何内容。有人可以帮我解决这个问题吗?

%pylab notebook
import cv2

testim = imread('butterfly.jpg')
figure()
imshow(testim)
plt.show()

截图:

Link to my Colab Notebook

imshow 需要 X 服务器,它在网络浏览器中不可用。

而是使用 IPython.display.Image 库。这是一个例子: https://colab.research.google.com/drive/1jWHKR6rhhyZtUulttBD6Pxd_AJhgtVaV

找到一种解决方法。我们可以在代码中使用%matplotlib inline来使用. Used as example here in In[28] - link

Google 如果您尝试使用 cv2.imshow() 显示图像而不是导入 from google.colab.patches import cv2_imshow 并使用 cv2_imshow(<image>)

显示图像,则 colab 会崩溃

opencv-python 包中的 cv2.imshow() 和 cv.imshow() 函数与 Jupyter notebook 不兼容;参见 https://github.com/jupyter/notebook/issues/3935

作为替换,您可以使用以下函数:

from google.colab.patches import cv2_imshow

例如,我们在这里下载并显示 Colab 徽标的 PNG 图片:

!curl -o logo.png https://colab.research.google.com/img/colab_favicon_256px.png
import cv2
img = cv2.imread('logo.png', cv2.IMREAD_UNCHANGED)
cv2_imshow(img)

致谢:Google Colab

中的代码片段

而不是使用 cv2.imshow() 试试这个:

  1. 将导入更改为 from google.colab.patches import cv2_imshow
  2. cv2.imshow()替换为cv2_imshow()

我试过了,对我有用。

cv2.imshow() 

在colab中效果不佳,可以使用matplotlib显示。

import matplotlib.image as mpimg 
from matplotlib.pyplot import imshow
%matplotlib inline
testim = mpimg.imread('butterfly.jpg')
imshow(testim)

或者您可以使用 colab 自己的 cv2_imshow 版本

from google.colab.patches import cv2_imshow
cv2_imshow('butterfly.jpg')

从google.colab.patches导入cv2_imshow

图片=cv2.imread("image.png")

# "image.png"为图片路径。

cv2_imshow(图片)

https://i.stack.imgur.com/53YPm.png

我在 google colab 中也面临同样的问题。

我们可以使用 cv2_imshow() 而不是 (cv2.imshow 或 cv.imshow):

#We must import first line of code
**#working module**

from google.colab.patches import cv2_imshow

#Replace cv2.imshow() to cv2_imshow()
img = cv.imread('tiger.jpg') #mentioning a path of an image
cv2_imshow(img)
 #do not use below code it won't work for me also so i switch to above mentioned code to viewing an image
 #non working module, error code mentioning for your references.
 import cv2 as cv   
 img = cv.imread('tiger.jpg') #mentioning a path of an image
 cv.imshow(img)

您可以使用“将 cv2 导入为 cv”并进行所有处理并在显示图像时使用

从google.colab.patches导入cv2_imshow

cv2_imshow(图片)