2017-03-06 351 views
2

我试图用tifffile lib在python中验证/绘制卫星图像。python中绘制多光谱卫星tiff图像

对于有三个渠道,我没有问题,可以视其为预期,但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) 

enter image description here

虽然tifffile.imshow(img_3)在一个漂亮的矩形中显示预期的图像。 我可以积img_a(的一部分)的唯一方法是,如果我选择喜欢的特定信道:我失去了什么

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

+0

'imshow'不知道numpy阵列的哪个维度是空间或光谱。默认情况下,它假定空间尺寸是最后一个,除非最后一个尺寸是3或4(RGBA)。在你的情况下,将光谱尺寸移到前面:'tifffile.imshow(numpy.moveaxis(img_a,2,0))' – cgohlke

+0

是的就是这样..谢谢 – olix20

回答

0

对于tiff.imshow()正常工作,Specical维度应该在第一个轴上。

tiff.imshow(np.rollaxis(img_a,2,0))将做的伎俩。