2017-03-06 105 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))將做的伎倆。