2017-03-06 3 views
2

私は、tifffileライブラリを使って、Pythonで衛星画像を検証/プロットしようとしています。マルチスペクトル衛星画像をPythonでプロットする

私は問題を持っていないと予想されるようにそれらを表示することができますが、私はSWIRイメージ物事が壊れているように見える8チャネルしようとすると、3つのチャンネルのRGBの写真

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)は、予想される画像をすばらしい矩形で表示します。

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

私は何をしないのです。私はプロットすることができ 唯一の方法は、img_a(の一部)は、私のような特定のチャンネルを選択した場合はありますか?

+0

「imshow」は、numpy配列のどの次元が空間的か分光的かを知らない。デフォルトでは、最後の次元が3または4(RGBA)でない限り、空間次元は最後であるとみなされます。あなたの場合は、スペクトルの次元を前面に移動します: 'tifffile.imshow(numpy.moveaxis(img_a、2、0))' – cgohlke

+0

はい、それです..ありがとう – olix20

答えて

0

tiff.imshow()が正しく機能するためには、最初の軸にスペクタルディメンションを配置する必要があります。

tiff.imshow(np.rollaxis(img_a,2,0))はこのトリックを行います。

関連する問題