如何在python中以4d数组保存一些3d图像?
我想阅读有关256 X 512 RGB图像的信息(我正在笔记本电脑上的C:\folder\u test中记录数据)。所以它是一个三维阵列,形状(256512,3)三维包含颜色R、G和B 现在,我想(加载)读取45个这样的图像,并制作这些图像的数组。所以我决定制作一个四维数组,它的维数为(45,256,512,3),其中第一维中的45是图像的数量,第二维,第三维和第四维是图像的维数,即(256,512,3)如何在python中以4d数组保存一些3d图像?,python,numpy,matplotlib,deep-learning,keras,Python,Numpy,Matplotlib,Deep Learning,Keras,我想阅读有关256 X 512 RGB图像的信息(我正在笔记本电脑上的C:\folder\u test中记录数据)。所以它是一个三维阵列,形状(256512,3)三维包含颜色R、G和B 现在,我想(加载)读取45个这样的图像,并制作这些图像的数组。所以我决定制作一个四维数组,它的维数为(45,256,512,3),其中第一维中的45是图像的数量,第二维,第三维和第四维是图像的维数,即(256,512,3) 我尝试使用concatenate执行此操作,但出现了错误。有什么方法可以做到这一点吗?我想
我尝试使用concatenate执行此操作,但出现了错误。有什么方法可以做到这一点吗?我想您在连接之前忘记了展开维度:
import numpy as np
pics = [np.random.sample((256 , 512 , 3)) for i in range(45)]
pics = [np.expand_dims(pic, axis=0) for pic in pics]
np.shape(np.concatenate(pics))
这将为您提供(45、256、512、3),而pics中的每个条目都具有形状(1、256、512、3)您可以创建一个列表变量,并按如下方式逐个追加图像:
imageCollection = []
for oneImagePath in (imagePaths):
#code for reading the image
image = .... # image contains (256,512,3) shape image.
imageCollection.append (image)
就这样imageCollection是您想要的
from scipy import misc
import numpy as np
import glob
images = np.array([misc.imread(fname) for fname in glob.glob('./*.png')])
print(images.shape)
更改到本地目录的路径。您可以使用旧名称的PIL加载映像,并以高效的方式将映像转换为数组
from PIL import Image
import numpy as np
image = Image.open("YOUR_IMAGE_PATH")
array = np.array(image)
您是如何阅读图片的?请将您尝试过的代码粘贴到代码块中,以使您的问题更易于理解。请阅读。基本信息是您的代码和错误消息的完整回溯。
scipy.misc.imread
已弃用,将在scipy 1.2.0中删除。可以改用imageio.imread
。