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

u59ebvdq  于 2022-11-15  发布在  Go
关注(0)|答案(8)|浏览(216)

我正在做一个需要OpenCV函数来绘制图像的项目。我试图在Google Colab中使用下面的代码来显示图像。但是输出中没有任何显示。有人能帮助我吗?

%pylab notebook
import cv2

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

截图:

Link to my Colab Notebook

ao218c7q

ao218c7q1#

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

ukdjmx9f

ukdjmx9f2#

opencv-python包中的cv2.imshow()和cv.imshow()函数与Jupyter笔记本不兼容;参见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中的代码片段

6yt4nkrj

6yt4nkrj3#

找到了一个变通方法。我们可以在代码中使用%matplotlib inline来使用imshow。在[28] -link中用作示例

clj7thdc

clj7thdc4#

imshow需要一个X服务器,但在Web浏览器中不可用。
请改用IPython.display.Image库。https://colab.research.google.com/drive/1jWHKR6rhhyZtUulttBD6Pxd_AJhgtVaV

的所有数据

tjrkku2a

tjrkku2a5#

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')
rlcwz9us

rlcwz9us6#

不要使用cv2.imshow(),请尝试以下操作:
1.将导入更改为from google.colab.patches import cv2_imshow
1.将cv2.imshow()替换为cv2_imshow()
我试过了,效果很好。

zbwhf8kr

zbwhf8kr7#

我在google colab中也面临着同样的问题。
我们可以使用cv2_imshow()来代替(cv2.imshow或cv.imshow):

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

from google.colab.patches import cv2_imshow
import cv2 as cv
#Replace cv2.imshow() to cv2_imshow()
img = cv.imread('python.jpg') #mentioning a path of an image
cv2_imshow(img)

当我们使用本地机器来显示任何图像时,我们使用此代码cv.imshow(),但当涉及到google colab时,我们应该切换到替代代码cv2_imshow()

pgx2nnw8

pgx2nnw88#

import os
import numpy as np
import matplotlib.pyplot as plt
import cv2
import pandas as pd
import matplotlib.image as mpimg
from google.colab.patches import cv2_imshow 

cv2_imshowcv21_image =cv2.imread("apple.jpg")
scale_percent = 20 # percent of original size
width = int(cv21_image.shape[1] * scale_percent / 100)
height = int(cv21_image.shape[0] * scale_percent / 100)
dim = (width, height)
resized=cv2.resize(cv21_image,dim)
cv2_imshow(resized)
cv2.waitKey(0)

修改后的代码执行该过程。

相关问题