有没有一种方法可以使列表中的图像变平



我有3个图像,并将它们存储在列表C中。

from sklearn.datasets import load_sample_images
datasets = load_sample_images()
image1 = [datasets.images[1][:,:,0],datasets.images[1][:,:,0],datasets.images[0][:,:,0]]
# datasets.images[1][:,:,0] is a Numpy array

出于某种原因,我想把它们都压平。并将结果存储在NumPy数组中。我的解决方案是

result = np.array([item.flatten() for item in image1])

有更好的解决方案吗?

首先,您应该知道图像的大小。例如32*32,如果它是RGB,则形状将是(3*32*32*3((第一个3是图像的数量,第二个3是RGB颜色层(。现在需要先对数组应用flawn((,然后再应用reshape((:

data = np.array([np.array(cv2.imread(imagePath[i])) for i in range(len(imagePath))] )
output = x_data.flatten().reshape(3, 3072)

最新更新