用python绘制多光谱卫星tiff图像

用python绘制多光谱卫星tiff图像,python,plot,gis,tiff,Python,Plot,Gis,Tiff,我正在尝试使用TIFF文件库在python中验证/绘制卫星图像 对于具有三个通道的RGB照片,我没有问题,可以按预期查看它们,但当我尝试使用8通道SWIR图像时,似乎出现了问题: img_3 = np.transpose(tiff.imread("imageRGB.tif"),(1,2,0)) img_a = np.transpose(tiff.imread("imageA.tif"),(1,2,0)) img_3.shape: (3349L, 3396L, 3L) img_a.shape:

我正在尝试使用TIFF文件库在python中验证/绘制卫星图像

对于具有三个通道的RGB照片,我没有问题,可以按预期查看它们,但当我尝试使用8通道SWIR图像时,似乎出现了问题:

img_3 = np.transpose(tiff.imread("imageRGB.tif"),(1,2,0))
img_a = np.transpose(tiff.imread("imageA.tif"),(1,2,0))

img_3.shape: (3349L, 3396L, 3L)
img_a.shape: (3349L, 3396L, 8L)


tifffile.imshow(img_a) 

tiffile.imshow(img_3)
则在一个漂亮的矩形中显示预期的图像。 我可以绘制(部分)img_a的唯一方法是选择以下特定通道:

tifffile.imshow(img_a[:,:,1]) 

我错过了什么

specteral维度应位于第一个轴上,以便tiff.imshow()正常工作


tiff.imshow(np.rollaxis(img_a,2,0))
会起作用。

imshow
不知道numpy阵列的哪个维度是空间维度还是光谱维度。默认情况下,它假定空间标注是最后一个标注,除非最后一个标注是3或4(RGBA)。在您的情况下,将光谱维度移到前面:
tiffile.imshow(numpy.moveaxis(img_a,2,0))
yes就是这样。。谢谢