Solarization 层

[源代码]

Solarization

keras.layers.Solarization(
    addition_factor=0.0, threshold_factor=0.0, value_range=(0, 255), seed=None, **kwargs
)

对图像中的每个像素应用 (max_value - pixel + min_value) 操作。

当创建时不带 threshold 参数,该层会对所有值执行曝光。当创建并指定 threshold 时,该层只会增强高于 threshold 值的像素。

注意:该层可以在 tf.datagrain 管道中使用(无论您使用的是哪个后端),且是安全的。

参数

  • addition_factor: (可选) 一个由两个浮点数组成的元组或单个浮点数,取值范围在 0 到 1 之间。对于每个增强后的图像,都会从提供的范围内采样一个值。如果传入的是一个浮点数,则该范围被解释为 (0, addition_factor)。如果指定了此参数,则在曝光和阈值处理之前,会将此值(乘以输入图像的值范围,例如 255)加到每个像素上。默认为 0.0。
  • threshold_factor: (可选) 一个由两个浮点数组成的元组或单个浮点数。对于每个增强后的图像,都会从提供的范围内采样一个值。如果传入的是一个浮点数,则该范围被解释为 (0, threshold_factor)。如果指定了此参数,则只有高于此阈值的像素值才会被曝光。
  • value_range: 一个元组或包含两个元素的列表。第一个值表示输入图像中值的下界,第二个值表示上界。传递给该层的图像的值应在 value_range 范围内。通常传递的值是 (0, 255) (RGB 图像) 或 (0., 1.) (缩放后的图像)。
  • seed:整数。用于创建随机种子。
  • **kwargs:基础层关键字参数,例如 namedtype

示例

(images, labels), _ = keras.datasets.cifar10.load_data()
print(images[0, 0, 0])
# [59 62 63]
# Note that images are Tensor with values in the range [0, 255]
solarization = Solarization(value_range=(0, 255))
images = solarization(images)
print(images[0, 0, 0])
# [196, 193, 192]