1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

numpy配列をカラー画像として表示

Last updated at Posted at 2021-05-23

 画像のnumpy配列への変換についての説明は様々な場所でされていますが、numpy配列の形でバンドの情報を持っている場合に、それらをRGBのカラー画像へと組み合わせて表示する方法が意外と出てこなかったのでメモとして残しておきます。dstackで配列をくっつけてPILに渡しましょう。例では衛星画像のバンドをnumpy配列で取得したものを用いています。

arrayToRGB.py
from PIL import Image
import numpy as np

#B3、B4、B5はLandsat 8衛星のバンドをnumpy arrayとして読み込んだもの
#B5を赤、B4を緑、B3を青として割り振る
B3=(test.read(1)*0.1).astype(np.uint8) 
B4=(test.read(2)*0.1).astype(np.uint8)
B5=(test.read(3)*0.1).astype(np.uint8)

print(B3.shape)
#(776, 2274)

im_RGB = np.dstack([B5,B4,B3]) #R,G,Bの順番に対応する配列を置く
print(im_RGB.shape)
#(776, 2274, 3)

pil_img = Image.fromarray(im_RGB,"RGB")
pil_img

出力画像(赤い場所が植生が濃い地域)
ダウンロード (15).png

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?