前提・実現したいこと
現在、google colabでKaggleのDogs vs Catsの課題に取り組んでいます。
その中で画像ファイルをndarray配列にする際の関数作成においてエラーが出てしまいました。
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- error Traceback (most recent call last) <ipython-input-64-e5014848a3a7> in <module>() ----> 1 train = prep_data(train_images) 2 test = prep_data(test_images) <ipython-input-63-9d9ecb140c36> in prep_data(images) 4 5 for i, image_file in enumerate(images):#リストや配列から1個ずつデータを取り出し処理を繰り返す。番号を自動的にふる。 ----> 6 image = read_image(image_file) 7 data[i] = image.T#転置行列のT、行と列の入れ替え。chanelsを一番前に持ってくるために 8 if i%250 == 0: print('Processed {} of {}'.format(i, count)) <ipython-input-62-411d2a4e080f> in read_image(file_path) 1 def read_image(file_path): 2 img = cv2.imread(file_path, cv2.IMREAD_COLOR) ----> 3 return cv2.resize(img, (ROWS, COLS), interpolation=cv2.INTER_CUBIC) error: OpenCV(3.4.3) /io/opencv/modules/imgproc/src/resize.cpp:4044: error: (-215:Assertion failed) !ssize.empty() in function 'resize'
該当のソースコード
python3
1def read_image(file_path): 2 img = cv2.imread(file_path, cv2.IMREAD_COLOR) 3 return cv2.resize(img, (ROWS, COLS), interpolation=cv2.INTER_CUBIC) 4 5def prep_data(images): 6 count = len(images) 7 data = np.ndarray((count, CHANNELS, ROWS, COLS), dtype=np.uint8) 8 9 for i, image_file in enumerate(images):#リストや配列から1個ずつデータを取り出し処理を繰り返す。番号を自動的にふる。 10 image = read_image(image_file) 11 data[i] = image.T#転置行列のT、行と列の入れ替え。chanelsを一番前に持ってくるために 12 if i%250 == 0: print('Processed {} of {}'.format(i, count)) 13 14 return data 15 16train = prep_data(train_images) 17test = prep_data(test_images)
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。