我有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)