あきらぼ

テック系ブログ

Python:globでフォルダ内の大量の画像すべてを一括で読み込む

こんにちは。


今回は先日落としてきた大量の画像データの読み込みに関してメモがてら書こうと思います。


先日は画像分類器のために画像を大量にダウンロードしてきました。


aki-lab.hatenadiary.com


すると格納フォルダはこんなことになっています。



一応画像はナンバリングされているのですが、関係ない画像等を抜いたりもしているので、連番ではありません。
簡単に一括で処理できる方法がないかと調べてみたらgrabというパッケージがありました。


簡単な例を以下に書きます。



すると以下のような結果を返します。

./Train_Data/pekora\pekora002.jpg
./Train_Data/pekora\pekora003.jpg
./Train_Data/pekora\pekora004.jpg
(省略)
./Train_Data/pekora\pekora499.jpg
./Train_Data/pekora\pekora500.jpg
./Train_Data/pekora\pekora501.jpg


このように参照ディレクトリの内部ファイルのパスを全て返してくれます。





実際に画像分類器で使用したときは以下のようにして使用していました。



こうすることでImagesとnamesが教師データとして使用できます。


分類器全体はこちら
github.com

追記

今回はglobを使いましたが、PATH操作を含めてWindows系もUnix系も同じように扱えるpathlibのglobを使うほうが汎用性が高いです。
pathlib --- オブジェクト指向のファイルシステムパス — Python 3.12.6 ドキュメント