Ошибка OpenCV (4.1.2)! _Src.empty () в функции 'cvtColor'

все. Я пытаюсь запустить скрипт Unet через Google Colab для обучения. Но у меня ошибка с функцией cv2. Вот часть кода, в которой произошла ошибка:

def prepare_data(img_shape, ids, reader):
    img_count = len(ids)
    x_data = np.empty((img_count,) + img_shape,
                       dtype='uint8')
    y_data = np.empty((img_count, img_shape[0], img_shape[1], 1),
                       dtype='uint8')

   for i, idx in enumerate(ids):
       path = reader.get_image_path_by_id(idx)
       img = cv2.imread(path, cv2.IMREAD_COLOR)
       img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
       img = cv2.resize(img, dsize=(img_shape[1], img_shape[0]))

       mask = []

Сообщение об ошибке следующее:

Traceback (most recent call last):
File "/content/gdrive/My Drive/Unet/unet/train_unet.py", line 247, in <module> train(train_ids=fold4_train, val_ids=fold4_test, fold_num=fold_num, restart=args.restart)
File "/content/gdrive/My Drive/Unet/unet/train_unet.py", line 162, in train train_data, train_masks = prepare_data(img_shape, train_ids, dataset_reader)
File "/content/gdrive/My Drive/Unet/unet/train_unet.py", line 110, in prepare_data
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
cv2.error: OpenCV(4.1.2) /io/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'

Я пытался использовать from skimage import io img = io.imread(file_path) вместо cv2, но это не помогло.


person Nikita Stasenko    schedule 08.06.2020    source источник
comment
Вы действительно получаете путь к изображению? Что reader.get_image_path_by_id(idx) возвращается?   -  person Erik White    schedule 09.06.2020


Ответы (1)


После попытки открыть и прочитать изображение убедитесь, что оно работает.

img = cv2.imread(path, cv2.IMREAD_COLOR)
if img is not None:
    # Didn't work; do something here.
person Dave W. Smith    schedule 08.06.2020