Как можно обнулить часть загруженного изображения с помощью Numpy / Keras? - PullRequest
1 голос
/ 19 апреля 2019

Я загружаю изображение с:

from keras.preprocessing import image
img = image.load_img(image_path, target_size=(224, 224))
x = image.img_to_array(img)

Что я хочу сделать, это сохранить размер (224 x 224), но дополнить его.Где, как обычно, у меня было бы изображение как это:

enter image description here

Вместо этого я хочу изображение как:

enter image description here

(для пояснения добавлена ​​черная рамка. Не то, что я на самом деле хочу)

Я хочу, чтобы изображение было смещено (на некоторые x и y), а для остальных должны быть нули.

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Существует функция numpy для матриц заполнения.Вы должны указать значение отступа для каждого измерения.

np.pad(img, ((top_pad, bottom_pad), (left_pad, right_pad), (0, 0)), mode='constant', constant_values=0)

Если вам нужна реализация, взгляните на this

1 голос
/ 23 апреля 2019

Самый простой подход - создать пустую матрицу и заполнить нужные части изображением:

x=np.ones((224,224,3),dtype=int)*255
x[x_start:,y_start:]=image.img_to_array[x_start:,y_start:]

Обратите внимание, что вы можете изменить dtype на uint8, если вам нужно.

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