Функция random_saturation
Функция random_saturation случайным образом
изменяет насыщенность изображения. Первым
параметром передается тензор изображения,
вторым - нижняя граница случайного
коэффициента насыщенности, третьим - верхняя
граница. Четвертым параметром можно передать
зерно генератора случайных чисел.
Синтаксис
tf.image.random_saturation(image, lower, upper, [seed])
Пример
Давайте создадим изображение из тензора и случайным образом изменим его насыщенность:
import tensorflow as tf
tf.random.set_seed(0)
t = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]], dtype=tf.float32)
res = tf.image.random_saturation(t, 0.5, 1.5)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[ 1. 2. 2.7669601 ]
[ 4. 5. 5.5339203 ]]
[[ 7. 8. 8.30088 ]
[10. 11. 11.067841 ]]], shape=(2, 2, 3), dtype=float32)
Пример
Давайте передадим зерно генератора случайных чисел для воспроизводимости результата:
import tensorflow as tf
tf.random.set_seed(0)
t = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]], dtype=tf.float32)
res = tf.image.random_saturation(t, 0.5, 1.5, seed=42)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[ 1. 2. 2.7669601 ]
[ 4. 5. 5.5339203 ]]
[[ 7. 8. 8.30088 ]
[10. 11. 11.067841 ]]], shape=(2, 2, 3), dtype=float32)
Пример
Давайте изменим насыщенность цветного изображения большего размера:
import tensorflow as tf
tf.random.set_seed(0)
t = tf.constant([[[100, 150, 200], [50, 100, 150]], [[200, 250, 50], [150, 200, 100]]], dtype=tf.float32)
res = tf.image.random_saturation(t, 0.0, 2.0)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[ 83.33333 150. 233.33333 ]
[ 41.666664 100. 158.33333 ]]
[[216.66667 250. 16.666666]
[158.33333 200. 83.33333 ]]], shape=(2, 2, 3), dtype=float32)
Смотрите также
-
функцию
adjust_saturation,
которая изменяет насыщенность изображения -
функцию
adjust_hue,
которая изменяет оттенок изображения -
функцию
random_hue,
которая случайно изменяет оттенок изображения -
функцию
random_contrast,
которая случайно изменяет контрастность изображения