[python]PILで画像を一括保存
以下のようなコードを書きカレントディレクトリの直下にあるimagesというフォルダの.png画像をすべてloadすることにしました。(imagesのフォルダには.pngしかないためos.listdirだけで済ませております。)
python
1import numpy as np 2import os 3from PIL import Image 4 5png_name = os.listdir(path='images') 6 7def name2image(png_name): 8 img_data = list() 9 for i in png_name: 10 img = Image.open('images\'+i) 11 img_data.append(img) 12 return img_data 13 14img_data = name2image(png_name)
imgはimages内の.png画像がすべてリストの要素になるようなコードでこのimgを再び保存することができれば今後簡単にloadすることができると考えています。
しかしながら私のパソコンのスペックが低いせいで10000枚程度の画像に対して行っているのですが、一時間程度やっても1000枚ぐらいしかappendされません。
MNISTのように60000枚程度の画像が一瞬でloadすることができるのにも関わらずこのように時間がかかってしますのはコードが上手くないからであろうと思います。(MNISTはもともとnumpy配列だから早いだけかもしれませんが、、)
私のコードではなく行いたいことを実行するようにはどのような変更点が求められると思いますか?
詳しい方がいれば教えて頂けると嬉しいです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー