Python3 フォルダ内から画像をランダムに50枚選択したい
画像が100枚入っているフォルダから50枚ずつ読み込み、numpy配列に変換してnpyファイルを保存する処理を2回するコードを書いています。
コード実行後、npyファイルはちゃんと2つ保存されていたのですが、中身を見るとそれぞれ100枚ずつ保存されているようでした。
rn.sampleでフォルダ内からランダムに50枚選択するようにしていたのですが、書き方が間違っているでしょうか。
お忙しいところ恐れ入りますが修正方法についてアドバイスをいただけますと幸いです。
※teratailでも質問中です。そちらでご回答がなかったため、こちらにも投稿させて頂きました。どちらかでご回答を頂き次第、共有をさせていただきます。
import random as rn
img_size = (1000, 500)
dir_name ='./train'
file_type = 'jpeg'
img_list = glob.glob('./' + dir_name + '/*.' + file_type)
for i in range(2):
train_img_array_list = []
rn.sample(img_list, 50) #iが1増加するたび、ランダムに選択した50枚の画像を読み込み
for img in img_list:
train_img = load_img(img,grayscale=True,target_size=(img_size))
train_img_array = img_to_array(train_img) /255
train_img_array_list.append(train_img_array)
train_img_array_list = np.array(train_img_array_list)
file_name = os.path.join('.', 'image'+'{0:04d}'.format(i)+'.npy')#連番でnpyファイルを保存
np.save(file_name, train_img_array_list)