Как прочитать изображение RGB в виде изображения в оттенках серого с помощью генератора данных keras?

#keras

#keras

Вопрос:

введите описание изображения здесьвведите описание изображения здесьсильный текст Я хочу прочитать изображение (1), диапазон значений пикселей которого равен 0-50, с помощью генератора keras, но когда я устанавливаю color_mode=‘оттенки серого’ или даже ‘rgb’, он преобразует все значения между 0 и 1, как показано на рисунке (2). Какие аргументы ImageDataGenerator или flow_from_directory следует установить, чтобы я мог получить диапазон значений пикселей изображения (1) из keras generator?

Вот код, который я использую

 Data_datagen=ImageDataGenerator(rescale=1./255) #included in our dependencies
seed=2020
train_left=Data_datagen.flow_from_directory('train_left/train/',target_size=(384,512), color_mode='grayscale',batch_size=2,shuffle=True,seed=seed)

img=train_left[100][0]
img=img[0]
plt.figure()
plt.imshow(img[:,:,:])
  

Комментарии:

1. Можете ли вы добавить код, который вы пробовали, а также полученный результат и ожидаемый результат, который вы хотите?

Ответ №1:

Если значения пикселей находятся в диапазоне от 0 до 50, это уже будет странный результат, поскольку RGB и оттенки серого ожидают значения в диапазоне 0-255 для каждого канала. Вероятно, причина, по которой ваш генератор делает это, заключается в том, что это желаемый способ обработки изображений в глубоком обучении — масштабирование до [0, 1]. Если вы не хотите масштабировать его, вы должны поделиться кодом, чтобы мы могли видеть, что именно вы делаете.

Без кода я бы заподозрил, что вам нужно изменить это значение в генераторе.

 rescale=1./255