Python 显示numpy阵列中的多个图像
我有一个numpy数组(data.npy),它存储多个样本图像。我想查看/保存所有图像。我尝试过以下方法:Python 显示numpy阵列中的多个图像,python,arrays,numpy,matplotlib,data-visualization,Python,Arrays,Numpy,Matplotlib,Data Visualization,我有一个numpy数组(data.npy),它存储多个样本图像。我想查看/保存所有图像。我尝试过以下方法: img_array=np.load('data.npy') i = 0 while i < len(img_array): plt.imshow(img_array[i], cmap='gray') plt.show() i += 1 您正在将一个(4100100)数组传递给imshow(),但文档说它要求通道维度排在最后: 因此,使用moveaxis()或rol
img_array=np.load('data.npy')
i = 0
while i < len(img_array):
plt.imshow(img_array[i], cmap='gray')
plt.show()
i += 1
您正在将一个(4100100)
数组传递给imshow()
,但文档说它要求通道维度排在最后:
因此,使用moveaxis()
或rollaxis()
更改维度的顺序:您正在将一个(4100100)
数组传递到imshow()
,但文档说它要求频道维度排在最后:
因此,使用
moveaxis()
或rollaxis()
来更改尺寸的顺序:根据@John Zwinck的回答,以下代码对我来说似乎运行良好
In [12]: for idx, el in enumerate(img_array):
...: plt.imshow(np.moveaxis(img_array[idx], 0, -1), cmap='gray')
...:
np.moveaxis
围绕数组的轴移动。在这里,它将原始数组中的第一个轴移动到最后一个轴
In [13]: a[10].shape
Out[13]: (4, 100, 100)
In [14]: np.moveaxis(a[10], 0, -1).shape
Out[14]: (100, 100, 4)
根据@John Zwinck的回答,下面的代码对我来说似乎运行良好
In [12]: for idx, el in enumerate(img_array):
...: plt.imshow(np.moveaxis(img_array[idx], 0, -1), cmap='gray')
...:
np.moveaxis
围绕数组的轴移动。在这里,它将原始数组中的第一个轴移动到最后一个轴
In [13]: a[10].shape
Out[13]: (4, 100, 100)
In [14]: np.moveaxis(a[10], 0, -1).shape
Out[14]: (100, 100, 4)
您拥有的是一个二进制文件,而不是数组。如何从中提取数据取决于创建文件时数据的存储方式。img_数组的形状是什么?@ChrisMueller img_数组的形状是:(22,4,100,100)您拥有的是一个二进制文件,而不是数组。如何从中提取数据取决于创建文件时数据的存储方式。
img_数组的形状是什么?@ChrisMueller img_数组的形状是:(22,41000,100)