Python 将4D numpy数组转换为图像数据集

Python 将4D numpy数组转换为图像数据集,python,numpy,python-imaging-library,Python,Numpy,Python Imaging Library,new_stock是一个具有形状(724,1,30,13)的4d numpy阵列。我想把它转换成CNN模型输入的图像数据集 我试过这个: import imageio images = np.zeros((724,1,30, 13)) for i in range(len(images)): imageio.imwrite('date_set_' + str(i) + '.jpg', images[i,:,:,:]) 但是有错误 Val

new_stock是一个具有形状(724,1,30,13)的4d numpy阵列。我想把它转换成CNN模型输入的图像数据集

我试过这个:


    import imageio

    images = np.zeros((724,1,30, 13)) 
    for i in range(len(images)):
        imageio.imwrite('date_set_' + str(i) + '.jpg', images[i,:,:,:])

但是有错误


    ValueError                                Traceback (most recent call last)
    <ipython-input-341-365e9f864a67> in <module>()
          3 images = np.zeros((724, 30, 1, 13))
          4 for i in range(len(images)):
    ----> 5     imageio.imwrite('date_set_' + str(i) + '.jpg', images[i,:,:,:])

    /usr/local/lib/python3.7/dist-packages/imageio/core/functions.py in imwrite(uri, im, format, **kwargs)
        251             pass
        252         else:
    --> 253             raise ValueError("Image must be 2D (grayscale, RGB, or RGBA).")
        254     else:
        255         raise ValueError("Image must be a numpy array.")

    ValueError: Image must be 2D (grayscale, RGB, or RGBA).


ValueError回溯(最近一次调用上次)
在()
3个图像=np.零((724,30,1,13))
4对于范围内的i(透镜(图像)):
---->5 imageio.imwrite('date_set_'+str(i)+'.jpg',images[i,:,:,:,:])
/imwrite中的usr/local/lib/python3.7/dist-packages/imageio/core/functions.py(uri、im、格式,**kwargs)
251通行证
252其他:
-->253提升值错误(“图像必须是2D(灰度、RGB或RGBA)。”
254其他:
255 raise VALUERROR(“图像必须是numpy数组。”)
ValueError:图像必须是2D(灰度、RGB或RGBA)。

如图所示进行轻微更改(更改要保存到文件中的图像的索引)对我来说是可行的。它创建了所有724幅图像。

为什么要复制?我一直在尝试使用列表以及数据帧。但是找不到结果。@AndrejKesely你能看看这个吗!每个图像的尺寸是多少?图像应具有1、3或4个通道和MxN像素。看起来您正在尝试创建具有13个或30个通道的图像,并且在其中一个空间维度中为1像素长。也许您需要在第三维度和第四维度之间切换。如果30x13(包含13个功能的30天数据)被视为1个功能,则图像的维度为。我想把所有的小图像保存到一个数据框中,这样我可以进一步使用它们。