Функция adjust_saturation
Функция adjust_saturation изменяет насыщенность изображения.
Первым параметром функция принимает тензор изображения,
вторым - коэффициент насыщенности.
Изображение должно быть представлено в одном из форматов:
float16, float32 или uint8.
Значение насыщенности 1 оставляет изображение без изменений,
значения меньше 1 уменьшают насыщенность,
а больше 1 - увеличивают.
Функция возвращает тензор того же типа и формы, что и входной.
Синтаксис
tf.image.adjust_saturation(image, saturation_factor, [name])
Пример
Давайте создадим изображение из тензора и увеличим его насыщенность:
import tensorflow as tf
image = tf.constant([
[[255, 0, 0], [0, 255, 0]],
[[0, 0, 255], [255, 255, 0]]
], dtype=tf.float32)
res = tf.image.adjust_saturation(image, 2.0)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[255. 0. 0.]
[ 0. 255. 0.]]
[[ 0. 0. 255.]
[255. 255. 0.]]], shape=(2, 2, 3), dtype=float32)
Пример
Давайте уменьшим насыщенность изображения вдвое:
<+python+>
import tensorflow as tf
image = tf.constant([
[[255, 0, 0], [0, 255, 0]],
[[0, 0, 255], [255, 255, 0]]
], dtype=tf.float32)
res = tf.image.adjust_saturation(image, 0.5)
print(res)
<-python+>
Результат выполнения кода:
tf.Tensor(
[[[127.5 0. 0. ]
[ 0. 127.5 0. ]]
[[ 0. 0. 127.5]
[127.5 127.5 0. ]]], shape=(2, 2, 3), dtype=float32)
Пример
Давайте применим функцию к изображению с типом uint8:
import tensorflow as tf
image = tf.constant([
[[255, 0, 0], [0, 255, 0]],
[[0, 0, 255], [255, 255, 0]]
], dtype=tf.uint8)
res = tf.image.adjust_saturation(image, 1.5)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[255 0 0]
[ 0 255 0]]
[[ 0 0 255]
[255 255 0]]], shape=(2, 2, 3), dtype=uint8)
Смотрите также
-
функцию
adjust_brightness,
которая регулирует яркость изображения -
функцию
adjust_contrast,
которая регулирует контрастность изображения -
функцию
adjust_hue,
которая регулирует оттенок изображения -
функцию
random_saturation,
которая случайно изменяет насыщенность изображения