google colab,cv2_imshow 抛出错误:“NoneType”对象没有属性“clip”

Posted

技术标签:

【中文标题】google colab,cv2_imshow 抛出错误:“NoneType”对象没有属性“clip”【英文标题】:google colab, cv2_imshow throws error: 'NoneType' object has no attribute 'clip' 【发布时间】:2022-01-11 09:42:46 【问题描述】:

我正在学习 OpenCV 的基础知识,在 google colab 中运行以下代码时,出现错误。

from google.colab.patches import cv2_imshow
import cv2
img=cv2.imread("geeks14.png")
cv2_imshow(img)

错误是

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-14-569c91be5363> in <module>()
      2 import cv2
      3 img=cv2.imread("geeks14.png")
----> 4 cv2_imshow(img)

/usr/local/lib/python3.7/dist-packages/google/colab/patches/__init__.py in cv2_imshow(a)
     20       image.
     21   """
---> 22   a = a.clip(0, 255).astype('uint8')
     23   # cv2 stores colors as BGR; convert to RGB
     24   if a.ndim == 3:

AttributeError: 'NoneType' object has no attribute 'clip

【问题讨论】:

【参考方案1】:

问题不在于cv2_imshow

问题是imread() 返回了None。它无法将给定的路径读取为图像文件。

查看imread()失败的常见原因,如:

文件不存在(查找相对路径相对于,或使用绝对路径) 文件已损坏 文件的格式不受 OpenCV 支持 您没有访问权限 系统以某种方式损坏

【讨论】:

【参考方案2】:

请检查 colab 文件 geeks14.png 是否存在。你需要上传 Check sample SS here!

【讨论】:

【参考方案3】:

有两种方法可以解决此问题。

    转到您在 Google colab 上上传的图像,将光标对准它,将显示 3 个点,滚动到复制路径,复制此路径并粘贴到您的代码中。 此错误是由于您的图像位于未定义的路径中。不要在示例文件夹中上传。当您点击菜单上传文件时,右键单击并将您的图片作为单个文件上传。

【讨论】:

以上是关于google colab,cv2_imshow 抛出错误:“NoneType”对象没有属性“clip”的主要内容,如果未能解决你的问题,请参考以下文章

在 VM 引擎中导入 google.colab 不会让我在 Google Colab 中运行 Jupyter Notebook?

google.colab 模块中是不是有关闭运行时的功能

从 Google Drive 读取图像时,Google Colab 太慢了

Google Colab使用学习笔记

如何在 google colab 中启用拼写检查器(colab 在 linux OS 上运行)?

如何在 Google 的 Colab 中安装 Python 包?