Дополнение массива трехмерных изображений с нулями - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть 357 .bmp изображений (форма: (357,227,227))

, которые я считал их в массив Numpy, затем я добавил их в стандартный размер

(4608, 227,227).Проблема заключается в том, что когда я читаю изображения из дополненного .npy, все

изображения отображаются черным, что означает, что все изображения заполнены нулями.

Я не знаю, почему дополняют все нули изображений, мне нужно сохранить изображения.ниже я попробовал:

allfiles = os.listdir(pth_upd)
files = []
columns = ['data']
for file in allfiles:
    files.append(file) if ('.bmp' in file) else None
    samples = np.empty((1,227,227))

for file in files:
    img = cv2.imread(os.path.join(pth_upd,file),0)
    img = img.reshape(1,227,227)
    img=img.astype(np.float32)
    samples = np.append(samples, img, axis=0)

    if (len(samples)< 4608) :

        pad_size=4608-len(samples)       

        samples = np.pad(samples,(( pad_size,0),(0,0),(0,0)),mode='constant', constant_values=0) 

        f_name=format(folder)
        np.save(f_name, samples)
        print('saved')
        print(samples.shape)

    else:
        None

1 Ответ

0 голосов
/ 28 февраля 2019

Причина, по которой это происходит, заключается в том, что вы выполняете заполнение внутри цикла для всех файлов изображений.

Таким образом, всякий раз, когда вы выполняете заполнение, вы перезаписываете любые изображения, которые вы загрузили в предыдущемитерация.

Вы должны выполнять заполнение после того, как завершите цикл по всем файлам изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...