我有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