Keras ImageDataGenerator饱和16位图像

时间:2018-10-31 19:38:02

标签: python keras

我有16位图像(如果需要的话,为灰度级),我正在尝试使用Keras的ImageDataGenerator进行放大。目前,我正在使用flow()拍摄一张测试图像并保存增强图像的样本(最终我将使用flow_from_directory())。

问题是保存的图像总是饱和的,即图像中的大多数像素的值为(255,255,255)。尽管原始图像在65535中的最大值约为6000,但我期望增强图像的最大值约为23。

我绝对不希望输入模型饱和的图像,因为这意味着会损失很多动态范围。有什么想法吗?

这是我正在使用的代码:

from keras.preprocessing.image import ImageDataGenerator, img_to_array, load_img

test_img = img_to_array(load_img('image10.tif'))

test_img = test_img.reshape((1,) + test_img.shape) 

train_datagen = ImageDataGenerator(
    rotation_range = 90,
    horizontal_flip = True,
    vertical_flip = True,
    fill_mode = 'constant',
    rescale = 1./65535)

i = 0
for batch in train_datagen.flow(test_img_array, batch_size=1, save_to_dir=preview_output, save_prefix='test_img', save_format='tif'):
    i += 1
    if i > 10:
        break

0 个答案:

没有答案