Image 导入图像以准备keras

Image 导入图像以准备keras,image,python-3.x,csv,keras,Image,Python 3.x,Csv,Keras,我正在尝试导入一组图像,并为keras做好准备。这里的目标是拥有以下维度的数组。(长度160329,3)。正如您所看到的,我的重塑函数被注释掉了。“print(images.shape)行返回(8037,)。不确定如何继续获得正确的数组维度。csv文件中的第一列是有问题图像的路径列表,仅供参考。下面有一个函数,它将文件夹内图像的路径与文件夹的路径结合起来 当我运行注释掉的重塑函数时,我得到以下错误。“ValueError:无法将大小为8037的数组重塑为形状(8037160320,3)” 在将图

我正在尝试导入一组图像,并为keras做好准备。这里的目标是拥有以下维度的数组。(长度160329,3)。正如您所看到的,我的重塑函数被注释掉了。“print(images.shape)行返回(8037,)。不确定如何继续获得正确的数组维度。csv文件中的第一列是有问题图像的路径列表,仅供参考。下面有一个函数,它将文件夹内图像的路径与文件夹的路径结合起来

当我运行注释掉的重塑函数时,我得到以下错误。“ValueError:无法将大小为8037的数组重塑为形状(8037160320,3)”


在将
图像添加到
图像之前,是否可以打印
图像的形状
,以验证它是否符合您的预期?更好的方法是在循环中添加
imshow
,以确保您正在加载您预期的图像(只需对一个或两个图像执行此操作)如果您提供的文件路径中没有图像,则.imread不会抛出错误,因此您的数组可能是all
None
,这将产生您所描述的确切行为


如果这是问题所在,请检查
img
变量,确保它正好指向您想要的位置。

结果是它包含了CSV文件的第一行标题。在我整理后,它运行得很好。它为我提供了所需的形状

images=[]
for i in range(1,len(labels)):
    img=(m[i][1])
    img=img.lstrip()
    path='/Users/user/Desktop/data/'
    img=path+img

    image=cv2.imread(img)
    images.append(image)

因此,图像的形状是(160320,3),而print(images.shape)返回一个错误“AttributeError:“list”对象没有属性“shape”@Jake3991在循环内部,您是否能够使用
plt.imshow
?plt.imshow(image)在循环内部显示一个图像?错误类型错误:图像数据无法转换为floatplt.imshow(图像[1])在循环外部显示图像
images=[]
for i in range(1,len(labels)):
    img=(m[i][1])
    img=img.lstrip()
    path='/Users/user/Desktop/data/'
    img=path+img

    image=cv2.imread(img)
    images.append(image)