Keras 3 API 文档 / KerasCV / / 增强层 / 太阳化层

太阳化层

[源代码]

Solarization

keras_cv.layers.Solarization(
    value_range, addition_factor=0.0, threshold_factor=0.0, seed=None, **kwargs
)

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

在没有 `threshold` 参数的情况下创建时,该层会对所有值执行太阳化。如果指定了 `threshold`,则该层仅增强高于 `threshold` 值的像素。

参考

参数

  • value_range:包含两个元素的元组或列表。第一个值表示传递的图像中值的较低边界,第二个值表示较高的边界。传递到该层的图像应具有 `value_range` 范围内的值。
  • addition_factor: (可选)两个浮点数的元组、单个浮点数或 keras_cv.FactorSampler。对于每个增强图像,都会从提供的范围内采样一个值。如果传递的是浮点数,则该范围被解释为 (0, addition_factor)。如果指定,则此值会在太阳化和阈值化之前添加到每个像素。附加值应根据值范围 (0, 255) 进行缩放,默认为 0.0。
  • threshold_factor: (可选)两个浮点数的元组、单个浮点数或 keras_cv.FactorSampler。对于每个增强图像,都会从提供的范围内采样一个值。如果传递的是浮点数,则该范围被解释为 (0, threshold_factor)。如果指定,则只有高于此阈值的像素值才会被太阳化。
  • seed:整数。用于创建随机种子。

示例

(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]

调用参数

  • images:int 或 float 类型的张量,像素范围为 [0, 255],形状为 [batch, height, width, channels] 或 [height, width, channels]。