oikakerublogの日記

知識ゼロから色々しらべてみた話し

Matplotlibで画像を表示してみるetc(その1)

Python画像処理の写経

(1)画像を読み込んで表示する

import numpy as np
import matplotlib.pyplot as plt

img = plt.imread('***.jpeg')

plt.imshow(img)
plt.show()

 

(2)画像の保存

plt.imsave('***.jpeg', img)

 

(3-1)白黒の3x3ピクセル画像の作成&表示

f:id:oikakerublog:20170330131115j:plain

f:id:oikakerublog:20170330131150j:plain

◆Tips

・dtypeの指定 → 白黒では必要なし、カラーのとき使う)

・vmin/vmax → 白黒画像では必要。imshow()で勝手に正規化されないように。

・interpolation = 'none' → 勝手にかかるフィルターを外す

 

(3-2)RGB画像

f:id:oikakerublog:20170331124509j:plain

◆Tips

・arrayの中身を変えることでRGBA画像(要素4つ)なども表示可能。

・”RGBA”の”A”は、透明度を表すアルファのA。

 

◆画像を拡大する

・"repeat"を使う

・縦5倍&横3倍にした例

f:id:oikakerublog:20170331131731j:plain

f:id:oikakerublog:20170331131738j:plain

《参考》

Python画像処理の再発明家 ~行列による画像処理・基礎編&目次~ - Qiita

 

◆追加(2018-8-3)

(1)Google Colaboratory上でのsin波表示

f:id:oikakerublog:20180803184434p:plain

code:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-5, 10, 0.1)
y = np.sin(x)

plt.plot(x, y)

※ jupyter notebookの場合、plt.show() つける

 

(2)色の指定

import matplotlib.pyplot as plt
import numpy as np

colorlist = ["r", "g", "b", "c", "m", "y", "k", "w"]
x = np.arange(1, 9)
height = np.repeat(1, 8)
plt.bar(x, height, color=colorlist, tick_label=colorlist, align="center")

f:id:oikakerublog:20180804105830p:plain

(2017-3-31)

追記 2018-8-3)