8,431 views
この記事は最終更新から 1204日 が経過しています。
1. やりたいこと
matplotlibで作った画像を、
・ラスタ画像ファイル (PNG, JPEG)
・ベクタ画像ファイル (SVG)
で出力したい。
2. やってみる
ここでは、(99) OpenCV #4 : ガンマ補正で画像を見やすく調整 で表示しているグラフを PNG, JPEG, SVG画像ファイルとして出力してみる。
(1) グラフをPNG画像として書き出す。
グラフを作成&PNGファイル出力するソースコードは以下の通り。
1行目~14行目 : グラフを作成
15行目 : グラフを PNG画像ファイルとして出力
import numpy as np import matplotlib.pyplot as plt ary_gamma = np.array([0.1, 0.2, 0.4, 0.67, 1, 1.5, 2.5, 5, 10, 25]) for var_gamma in ary_gamma: var_px = np.empty(256, np.uint8) for i in range(256): var_px[i] = np.clip(pow(i / 255.0, var_gamma) * 255.0, 0, 255) plt.plot(var_px, label=str(var_gamma)) plt.legend() plt.xlabel("INPUT") plt.ylabel("OUTPUT") plt.savefig('gamma.png')
以下のような画像が出力された。
gamma.png
(2) グラフをJPEG画像として書き出す。
出力部分を PNG指定から JPEG指定に変えてみる。
plt.savefig('gamma.jpg')
あれ?
線が表示されない…
gamma.jpg
拡張子の指定を jpg から jpeg に変更したら、正常に線が表示された。
plt.savefig('gamma.jpeg')
gamma.jpeg
(3) グラフをSVG画像として書き出す。
PNGや JPEGなどのラスタ画像だけでなく、ベクタ画像でも出力できる。
plt.savefig('gamma.svg')
gamma.svg
公式サイトによる savefig のリファレンスはこちら。
matplotlib.pyplot.savefig
3. 参考情報
matplotlibの公式サイトはこちらです。
https://matplotlib.org/