Обрезка изображения в массиве NumPy - PullRequest
0 голосов
/ 17 декабря 2018

Я хочу обрезать изображения RGB так, чтобы верхняя половина изображения была удалена.После обрезки я хочу объединить изображение в массив NumPy (здесь изображения).Но я получаю следующую ошибку ValueError: all the input array dimensions except for the concatenation axis must match exactly.Я пробовал несколько вещей, но мне не повезло ни с одной из моих попыток.

Мой код выглядит как

images = np.zeros((1, 32, 64, 3))
image = get_image()  # has shape 1, 64, 64, 3
# removing the first coordinate didn't change the error.
images = np.concatenate([images, image[:, 32:63, :, :]], axis=0)  

РЕДАКТИРОВАТЬ: Следующие изменения в image[:, 32:63, :, :] не разрешеныпроблема

а) [:, 32:63,:,:] -> [32:63,:,:]

b) [:, 32:63,:,:] -> [:] [32:63] [:] [:]

1 Ответ

0 голосов
/ 17 декабря 2018

Вы должны сделать

images = np.zeros((1, 32, 64, 3))
image = get_image()  # has shape 1, 64, 64, 3
# removing the first coordinate didn't change the error.
images = np.concatenate([images, image[:, 32:, :, :]], axis=0)  

Поскольку 32:63 пропускает последний элемент.(32:64 тоже будет возможно)

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