Открыть cv не удается прочитать все файлы, образующие путь

0

Вопрос

Я работаю с набором данных из 72 изображений и 72 масок. Я добавил изображения в numpy ndarrayЯ хочу, чтобы cv2 считывал файлы с пути, соответствующего файлам в numpy ndarray.

это путь к изображениям и маскам:

images_dir = '/content/drive/MyDrive/dataset/images'
masks_dir = '/content/drive/MyDrive/dataset/masks'

#добавление изображений в numpy ndarray

file_names = np.sort(os.listdir(images_dir)) 
file_names = np.char.split(file_names, '.')
filenames = np.array([])
for i in range(len(file_names)):
    filenames = np.append(filenames, file_names[i][0])

это функция, которую я хочу, чтобы open cv считывал каждое изображение, а затем маскировал по соответствующему пути:

def augment_dataset(count):
    '''Function for data augmentation
        Input:
            count - total no. of images after augmentation = initial no. of images * count
        Output:
            writes augmented images (input images & segmentation masks) to the working directory
    '''
    transform_1 = augment(512, 512)
    transform_2 = augment(480, 480)
    transform_3 = augment(512, 512)
    transform_4 = augment(800, 800)
    transform_5 = augment(1024, 1024)
    transform_6 = augment(800, 800)
    transform_7 = augment(1600, 1600)
    transform_8 = augment(1920, 1280)
    
    i = 0
    for i in range(count):
        for file in filenames:
            tile = file.split('_')[1]
            img = cv2.imread(images_dir+file+'.jpg')
            img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
            mask = cv2.imread(masks_dir+file+'.png')
            mask = cv2.cvtColor(mask, cv2.COLOR_BGR2RGB)

когда я запускаю код:

augment_dataset(8)

появляется эта ошибка:

---------------------------------------------------------------------------

error                                     Traceback (most recent call last)

<ipython-input-112-fae4beb79e15> in <module>()
----> 1 augment_dataset(8)

<ipython-input-111-121d55acd3fc> in augment_dataset(count)
     20             tile = file.split('_')[1]
     21             img = cv2.imread(images_dir+file+'.jpg')
---> 22             img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
     23             mask = cv2.imread(masks_dir+file+'.png')
     24             mask = cv2.cvtColor(mask, cv2.COLOR_BGR2RGB)

error: OpenCV(4.1.2) /io/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'

Я знаю, что это потому, что OpenCV не читал файлы. итак, как я могу заставить OpenCV читать файлы?

computer-vision imread opencv path
2021-11-20 09:26:23
1

Лучший ответ

0

В этих случаях лучше print(path/to/directory) чтобы узнать, правильный ли каталог или нет. В этом случае мы видим, что я пропустил / в пути к каталогу. Таким образом, Python не смог проанализировать данные. кроме того, вы можете использовать ose.path.exists(path/to/directory) чтобы увидеть, существует ли путь или нет. если возвращаемое значение равно False, вы должны проверить указанный путь на наличие ошибок

2021-11-23 19:47:17

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................