plt.showで表示する画像をプログラム上で保存する方法

Matplotlibのplt.showを使って表示する画像をプログラム上で保存する方法について、 savefigとimsaveを使った2つの方法を用いて紹介します。



目次

プログラム上で保存する方法 savefigとimsave

すべての手書き数字画像を保存(実行しない方がいいです)

手書き数字画像を保存した様子

・ savefigとimsaveの比較



プログラム上で保存する方法 savefigとimsave

savefigを使った保存

savefigはplt.show()で表示したものをそのまま保存。(640×480サイズで保存)

そのまま保存されるので目盛り付きで保存されます。

plt.savefig(“test1.jpg”)の前に目盛りを消す命令、plt.axis(“off”)を入れて実行↓

imsaveを使った保存

plt.imshow(image)で表示される画像には、目盛りが付いていますがplt.imsave(“test2.jpg”,image) で保存される画像には付かないです。 保存される画像サイズは読み込んだ画像と同じになります。

あと、なぜか画像が回転されて表示されてしまったので、cv2.rotate(image,cv2.ROTATE_90_CLOCKWISE)を使って正しい向きにしています。

表示画像


保存画像



sklearnの手書き数字画像をsavefigとimsaveで保存できるか試したプログラム↓

すべての手書き数字画像を保存

savefigで保存

注意:下のプログラムは2時間以上かっかたので実行しない方がいいです。

フォルダの作成はこちら「sklearnの手書き数字画像を数字ごとにフォルダを分けて保存する方法の投稿で紹介しています。

プログラムもその投稿で紹介したプログラムに白黒反転plt.savefig()を追加、変更したものになるので、プログラムの説明はそちらの投稿を拝見してください。

640×480(幅x高さ)の大きさで画像を保存し、なおかつ1797枚も保存するので、時間がかかってしまします。

手書き数字画像を保存した様子

サイズが大きいので、見やすいです。

imsaveで保存

savefigとimsaveの比較


savefigで保存した様子


imsaveで保存した様子