AIプログラミング

画像データからnumpy形式に変換する方法

更新日:

画像データからnumpy形式に変換する方法

画像認識など画像を用いた判定を行う場合、jpgなどの画像データを読み込みますが、それらの画像データはnumpy配列の形式に変更する必要があります。その方法を知らないと画像データを取り込んだものの、学習や評価できないということになってしまいます。

今回はjpgなどの画像データを読みこんだあとにnumpyの配列の形式に変更する方法について説明します。

前提条件

ソースコードを実行するPythonファイルと同一の階層にディレクトリを作成し、その中に画像を格納します。拡張性を高めるためディレクトリは複数(Folder1,Folder2)とします。読み込まれた画像は50×50のRGB形式にリサイズしてnumpyの配列に格納されます。

ディレクトリ構成
・Pythonのソースコード(.py形式)
・Folder1(フォルダ)
→jpg型式の画像ファイル(複数枚可能)
・Foledr2(フォルダ)
→jpg型式の画像ファイル(複数枚可能)

ソースコード

ソースコードです。詳細は別途説明します。

 

ソースコードの詳細

画像の編集に必要なPIL、ファイルの読み込みに必要なos, globをインポートします。numpy形式にするためnumpyについてもインポートします。
今後の処理に必要となる変数の初期設定を行っています。Xには50×50のサイズでRBG形式のため[Red,Green,Blue]で格納されます。Yにはフォルダの識別子(folder1の場合は0、folder2の場合は1が格納されます
フォルダ分ループを行いjpg形式のファイルを取り出し、RGB形式、50×50のサイズに変更しています。そのデータをX、Yの配列に格納しています。

 

numpy配列の形式に変更しています。

 

実行結果

folder1に3枚の画像データ、folder2に3枚の画像データを格納し実際に実行してみます。

6と出力されており6枚の画像データが取り込まれています。

1枚目の画像データの[0]番目です。50×50のため50個のデータがRBG形式[Red,Green,Blue]で格納されています。

1枚目の画像データの[49]番目です。50×50のため50個のデータがRBG形式[Red,Green,Blue]で格納されています。

6と出力されており6枚の画像データが取り込まれています。

Yにはフォルダの識別子です。folder1の場合は0、folder2の場合は1が格納されています。

-AIプログラミング

Copyright© AI人工知能テクノロジー , 2019 All Rights Reserved.