Python GOOGLE COLAB:cv2.imread返回非类型
我无法在google colab中使用Python GOOGLE COLAB:cv2.imread返回非类型,python,python-3.x,opencv,google-colaboratory,Python,Python 3.x,Opencv,Google Colaboratory,我无法在google colab中使用cv2.imread。我试着这样做 import cv2 img = cv2.imread('/content/gdrive/My Drive/path_to_image/1.png') print(type(img)) >> `<class 'NoneType'>` 我无法理解它为什么返回NoneType对象。图片路径没有问题。 我尝试了以下链接,但没有成功。 我通常使用keras.preprocessing.image中的lo
cv2.imread
。我试着这样做
import cv2
img = cv2.imread('/content/gdrive/My Drive/path_to_image/1.png')
print(type(img))
>> `<class 'NoneType'>`
我无法理解它为什么返回NoneType
对象。图片路径没有问题。
我尝试了以下链接,但没有成功。
我通常使用keras.preprocessing.image中的load\u img在google colab中加载图像
img = load_img('/content/gdrive/My Drive/path_to_image/1.png')
它返回时会发出刺耳的声音。如果要将img_转换为数组,可能需要使用keras.preprocessing.image中的img_转换为数组
arr = img_to_array(img)
这些都是我通常导入的图像处理:
from keras.preprocessing.image import load_img,img_to_array,array_to_img,save_img
您的映像路径有问题。要么像@sK500建议的那样而不是gdrive,它必须是drive。检查你的挂载声明
drive.mount('/content/drive')
另外,如果您使用UI直接安装了驱动器,那么它将是驱动器而不是gdrive。如果这没有错,那么您可以使用左侧的UI浏览文件并到达目标图像。然后右键单击它并复制其路径 我认为这是一个简单的打字错误 从中更换以下行
img = cv2.imread('/content/gdrive/My Drive/path_to_image/1.png').
到
我尝试了完全相同的方法(从gdrive
中删除g
)。出于某种原因,当文件夹出错时,colab不会抛出错误
img = cv2.imread('/content/gdrive/My Drive/Data/cat.png')
print(type(img))
#output
<class 'numpy.ndarray'>
img=cv2.imread('/content/gdrive/My Drive/Data/cat.png')
打印(类型(img))
#输出
我希望我的解决方案能帮助别人。
在我的例子中,调用img=cv2.imread('/content/gdrive/my Drive/path_to_image/1.png')
实际上是更快的RCNN中函数的一部分。我无法解析internet上任何其他现有的方法。最后,我像下面那样做了,它成功了
首先,我认为问题在于cv2。imread()
无法识别我的驱动器。。My
和驱动器之间的空间。虽然我从一开始就意识到了这一点,但我的尝试如下
"/content/gdrive/'My Drive'/path_to_image/1.png"
但是简单地把我的驱动器
放在单引号中
是行不通的
在我的情况下,它必须像下面这样工作
"/content/gdrive/"+"My Drive"+"/path_to_image/1.png"
编辑:
我想出了另一个解决方案来解决Colab中这个恼人的“我的驱动器”
问题
第1步:
from google.colab import drive
drive.mount("/content/drive/")
import os
os.getcwd()
!mkdir MyDrive # make a directory called MyDrive
!mount --bind /content/drive/My\ Drive /content/MyDrive
第二步:
from google.colab import drive
drive.mount("/content/drive/")
import os
os.getcwd()
!mkdir MyDrive # make a directory called MyDrive
!mount --bind /content/drive/My\ Drive /content/MyDrive
第三步:
from google.colab import drive
drive.mount("/content/drive/")
import os
os.getcwd()
!mkdir MyDrive # make a directory called MyDrive
!mount --bind /content/drive/My\ Drive /content/MyDrive
将其更改为img=cv2.imread('/content/drive/My drive/path_to_image/1.png')
可能是我的驱动器之间的路径空间导致了问题。