【问题标题】:google colab python3 name cv2 is not defined谷歌 colab python3 名称 cv2 未定义
【发布时间】:2019-07-08 23:59:29
【问题描述】:

我导入了所有必需的库并尝试使用 opencv 执行一个简单的图像重新识别程序,但出现错误 cv2 not defined 但从第一个单元格中可以看到 open cv 已安装并且没有导入错误显示为 I已经完成了 !apt 更新,我拥有的版本是 3.4.0。对下面附加的程序的任何帮助将不胜感激。提前致谢。

【问题讨论】:

  • 您可能没有运行第一个单元格...带有import cv2的单元格
  • 嘿,感谢您的回复,但没有运行第一个单元格,我 cud 从未上传 watch.jpg 图像。无论如何,我确实再次运行了两个单元格并且错误仍然存​​在。任何进一步的帮助将不胜感激。就像我说的,我什至更新了 numpy,甚至更新了 opencv sudo apt ,它仍然说 cv2 没有定义。
  • 只需在同一个单元格中添加import cv2(就在img = cv2.imread(...)之前),让我们知道会发生什么。顺便说一句,如果您显然想使用最新版本,为什么要使用 opencv3.0 标签?
  • 您好,谢谢您的建议。我确实尝试过,似乎有某种改进,但它仍然无法正常工作。它说它在运行时崩溃。请看看这个,如果知道如何解决这个问题,请告诉我。 i.imgur.com/f74IJlE.png
  • 我用MCVE 发布了一个答案。如果您觉得它有用,请考虑点赞或标记为答案。

标签: python python-3.x opencv opencv3.0 google-colaboratory


【解决方案1】:

如果您使用的是 google colab,则可以使用此解决方案:

从 google.colab.patches 导入 cv2_imshow

image = cv2.imread('image.png')

cv2_imshow(图片)

cv2.waitKey(0)

cv2.destroyAllWindows()

【讨论】:

  • 尝试改变图片的路径
【解决方案2】:

首先,我建议您熟悉 Jupyter 笔记本及其工作原理。然后,您遇到的第一个问题是因为您试图运行一个使用cv2 的单元格,而之前没有运行import cv2。您面临的第二个问题是因为您不能使用cv2.imshow(...),因为它需要一个不可用的 X 服务器。下面,您可以看到一个MCVE,您可以在其中上传图像,使用 OpenCV 读取和更改它,并显示图像:

import cv2
import matplotlib.pyplot as plt
# %matplotlib inline

from google.colab import files
uploaded = files.upload()

img = cv2.imread('lenna.png')
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

fig, ax = plt.subplots(ncols=2)

ax[0].imshow(img[..., ::-1])  # BGR to RGB
ax[0].set_title('Original image')

ax[1].imshow(gray_img, cmap=plt.cm.gray)
ax[1].set_title('Grayscale image')

plt.show()

如果您在 Google Colab 上运行,它将如下所示:

【讨论】:

    猜你喜欢
    • 2021-12-10
    • 2019-11-27
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 2020-09-03
    相关资源
    最近更新 更多