Pythonで1つのファイルから複数の画像を表示する方法

PythonのNumPyモジュールを使って、1つのファイルに複数の画像を保存し、そのファイルを使って複数の画像を表示するプログラムを紹介します。



この投稿のプログラムで使っている画像は、ぱくたその画像を使っています。



目次

・1枚の画像を1つのファイルに保存

・1つのファイルから1枚の画像を表示

・複数の画像を1つのファイルに保存

・1つのファイルから複数の画像を表示

・参考サイト

1枚の画像を1つのファイルに保存

読み込んだ画像をNumPyのsavez関数を使って、ファイルに保存しています。

保存した様子

1つのファイルから1枚の画像を表示

NumPyのload関数を使って、ファイルを読み込みます。

読み込んだデータを取り出すときは保存するときに使った引数の名前を使って取り出します。

保存するときの引数に“d1”という名前を使ったので、data[“d1”]のようにして取り出します。

表示した様子

複数の画像を1つのファイルに保存

複数の画像を保存する方法は、リストに画像データを1つずつ追加してから、そのリストをNumPy配列に変換し、savez関数を使って1つのファイルに保存します。

複数の画像を保存する場合は、画像サイズの高さと幅を揃えて保存しないといけないです

11行目から18行目で画像の高さと幅の平均の大きさを求めています。
そして、22行目のcv2.resizeを使って、サイズを揃えています。

サイズを揃えないで保存することはできるのですが、ファイルからデータを取り出すときにエラーがでます。

このプログラムで使うフォルダの中身

保存した様子

1つのファイルから複数の画像を表示

Matplotlibモジュールのsubplot関数を使って複数の画像を1回で表示しています。

表示した様子

1枚ずつ表示したい場合は12行目から15行目を消して、下のプログラムを挿入すれば1枚ずつ表示できます。

参考サイト

NumPyを使ったファイルの保存について紹介されています。

https://note.nkmk.me/python-numpy-load-save-savez-npy-npz/