方法1: ファイルを介して保存して読み込む方法
import pylab as plt
from PIL import Image
# Pylabで図を作成する
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.xlabel('X軸')
plt.ylabel('Y軸')
# 図を一時ファイルに保存する
temp_file = 'temp.png'
plt.savefig(temp_file)
# PILでイメージとして読み込む
pil_image = Image.open(temp_file)
# イメージの表示や処理を行う
# 一時ファイルを削除する
os.remove(temp_file)
この方法では、一時的なファイルに図を保存し、それをPILで読み込みます。処理が完了した後に一時ファイルを削除する必要があります。
方法2: メモリ中のファイルに保存して読み込む方法
import io
import pylab as plt
from PIL import Image
# Pylabで図を作成する
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.xlabel('X軸')
plt.ylabel('Y軸')
# メモリ中のファイルに図を保存する
mem_file = io.BytesIO()
plt.savefig(mem_file, format='png')
mem_file.seek(0)
# PILでイメージとして読み込む
pil_image = Image.open(mem_file)
# イメージの表示や処理を行う
# メモリ中のファイルをクローズする
mem_file.close()
この方法では、メモリ中のファイル(BytesIO)に図を保存し、それをPILで読み込みます。メモリ中のファイルをクローズすることも重要です。
これらの方法を使用すると、Pylabで作成した図をPILイメージとして保存し、その後の画像処理や表示に利用することができます。