Numpy: Grey画像 or 単なる2次元配列からRGB画像を生成したい

  • 3つの異なる配列からRGB画像データを作成する
  • 1つのGrey画像 (greyscale image) から RGB 画像データを生成する

dstack を利用し、2次元配列 = greyscale画像からRGB画像を生成します。
以下は説明のためnp.zerosで作成していますが、実際は各 r, g, b に必要なデータを入れてください。各Channelの配列サイズは同じである必要があります。

import numpy as np
r = np.zeros((512, 512), np.uint8)
g = np.zeros((512, 512), np.uint8)
b = np.zeros((512, 512), np.uint8)
rgb = np.dstack((r, g, b))

1つの2次元行列からRGB画像に拡張する場合は以下です。

grey = np.zeros((512,512), np.uint8)
rgb = np.dstack((grey,)*3)

画像として保存するのであれば以下。

from PIL import Image
Image.fromarray(rgb).save('test.png')

コメント

このブログの人気の投稿

gnuplot: グラフの色を変更する

[Linux] rsyncで進捗を確認する

gnuplotで縦線を引きたい