質問: Pythonで複数画像データを数値化して配列に保存することを考えています。 1枚の画像データはflatten()関数で1行にして、それを画像枚数分だけ配列に保存したいです。 おそらく、下記流れでコーディングをすると思うのですが、どのように表現をすればまったくわかりません。 1.配列の宣言 2.1枚目画像の読み込み 3.画像データを1行にして配列の1行目に保存 4.2枚目画像の読み込み 5.画像データを1行にして配列の2行目に保存 ・・・ ご存知の方がいましたら是非、教えていただけると大変助かります。 よろしくお願いいたします。
回答: ``` # coding: utf-8 import glob from PIL import Image files = glob.glob('folder/*.png') for file in files: array = [] img = Image.open(file).convert('RGB') w, h = img.size for y in range(h): for x in range(w): array += img.getpixel((x, y)) f = open('test.txt', 'a') out = map(str, array) f.write(','.join(out) + '\n') f.close() ``` 参考にしたページ Python3: 指定パスのファイル一覧を取得する Pythonでリストの要素を一括で変換(文字列などに) Python初心者ですが考えてみました。