(115) matplotlibで作った画像をファイル出力する。

投稿者: | 2021年6月17日

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/


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です