我尝试使用cv2.imread函数将图像转换为数组,以便使用plt.imshow对其进行绘制,但是当使用cv2.imread时,出现“ TypeError:图像数据无法转换为浮点数”。
我尝试遵循本教程:https://pythonprogramming.net/loading-custom-data-deep-learning-python-tensorflow-keras/
因此,我下载了以下图像文件夹:https://www.microsoft.com/en-us/download/confirmation.aspx?id=54765
我试图按照教程中的代码进行操作,但是找不到我的错误。
'''python
import numpy as np
import matplotlib.pyplot as plt
import cv2
import os
DATADIR = "C:\\Users\\François\\Desktop\\Python\\Cats&Dogs_Sentdex\\PetImages"
CATEGORIES = ["Cat", "Dog"]
for category in CATEGORIES:
path = os.path.join(DATADIR, category)
for img in os.listdir(path):
img_array = cv2.imread(os.path.join(path,img), 0)
plt.imshow(img_array, cmap="gray")
plt.show
break
break
'''
我应该能够打印(img_array)并获取一个数组,但是代码不起作用,并且出现错误消息:
set_data中的第642行“文件“ C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ matplotlib \ image.py” 引发TypeError(“图像数据无法转换为浮点数”)
TypeError:图片数据无法转换为浮点数”
在变量要求中,我还可以看到img_array是:“内置模块的无类型对象”
你知道为什么我没有数组吗?