Изменить изображение на [-1, 1] с помощью ImageDataGenerator - PullRequest
1 голос
/ 05 апреля 2020

Можно ли изменить изображения в [0, 255] в [-1, 1], используя ImageDataGenerator?

Я видел, что могу умножить изображение на значение, используя параметр reshape, но это только дает мне возможность изменить его до [0, 1]

1 Ответ

1 голос
/ 05 апреля 2020

Вы можете использовать функцию preprocessing_function в классе Keras ImageDataGenerator.

preprocessing_function : функция, которая будет применяться к каждому входу. Функция запустится после изменения размера и увеличения изображения. Функция должна принимать один аргумент: одно изображение (Numpy тензор с рангом 3) и выводить Numpy тензор той же формы.

#preprocessing_function function
def changeRange(image):

   image[:, :, 0] = [(i/128.0)-1 for i in image[:, :, 0]]
   image[:, :, 1] = [(i/128.0)-1 for i in image[:, :, 1]]
   image[:, :, 2] = [(i/128.0)-1 for i in image[:, :, 2]]

   return image

#data augementation
train_datagen = ImageDataGenerator(
   rescale = None,
   preprocessing_function=changeRange)

`

...