plotしたグラフを画像として保存
plotした画像を保存するにはplt.savefig()
を使う
実際に以下のプログラムでは下のsinグラフが保存される
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-3, 3, 0.01)
y = np.sin(x)
plt.plot(x, y)
#png, jpg, svg, pdf ...を指定可能
plt.savefig("sin.png")

numpy配列(画像など)を画像として保存する方法
画像処理などをした後、保存したい時にsavefig()
を使用してしまうと、目盛が着いてしまったりして鬱陶しい。(目盛だけ消すこともできるけど…)
そこで、numpy配列を直接画像として保存できるimsave()
を使う
例えばカラー画像をグレースケール画像に変換する処理は以下のようにして書くことができる。
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
img = Image.open('./fuji.png')
img_gray = img.convert('L')
img_array = np.asarray(img_gray)
plt.imsave("fuji-to-gray.png",img_array, cmap="gray")

コメント