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

Matplotlibplt.showを使って表示する画像をプログラム上で保存する方法について、digitsデータセット(手書き数字のデータ)を使ったPythonプログラムを用いて紹介します。

plt.showの表示画面にあるSaveボタンを押して保存する方法もありますが、複数の画像を保存する場合はプログラムで保存した方が楽なので、その方法をを紹介します。


plt.show()で表示した画像をSaveボタンを押して保存する方法は下画像赤まるで囲んでいる場所をクリックして、保存先と保存名前を決めれば保存できます。



目次

・プログラム上で保存する方法

・すべての手書き数字画像をplt.savefigで保存するプログラム(実行しない方がいいです)

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

・plt.saveとplt.savefigの比較



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

plt.show()plt.savefig()に変更します。

plt.show()があるとエラーが出るので消します。

plt.savefig()のカッコの中には保存する画像名前または保存先のフォルダ名を組み合わせた文字列が入ります。

plt.show()で表示する画像を保存すると手書き数字の形はそのままで、画像の大きさが640×480(幅x高さ)になります。

訂正plt.savefig()のあとにplt.show()を書けば、保存と表示両方できました。

すべての手書き数字画像をplt.savefigで保存するプログラム

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

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

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

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

このプログラムを実行してフォルダに保存した様子を下で紹介します。

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

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

plt.saveとplt.savefigの比較

plt.imsaveですべての手書き数字を保存するプログラム↓

plt.imsaveで保存した様子


plt.savefigで保存した様子

学習画像で使う場合はplt.imsaveで保存し方がたサイズが小さいので、学習時間が短くてすみます。

手書き数字の形をしっかり見たい場合はplt.savefigで保存した方がサイズが大きく手書き数字の形が見やすいです。