TF 2.0 is out! Get hands-on practice at TF World, Oct 28-31. Use code TF20 for 20% off select passes. Register now


TensorFlow 1 version View source on GitHub

Adjust saturation of RGB images.



This is a convenience method that converts RGB images to float representation, converts them to HSV, add an offset to the saturation channel, converts back to RGB and then back to the original data type. If several adjustments are chained it is advisable to minimize the number of redundant conversions.

image is an RGB image or images. The image saturation is adjusted by converting the images to HSV and multiplying the saturation (S) channel by saturation_factor and clipping. The images are then converted back to RGB.


  • image: RGB image or images. Size of the last dimension must be 3.
  • saturation_factor: float. Factor to multiply the saturation by.
  • name: A name for this operation (optional).


Adjusted image(s), same shape and DType as image.

Usage Example:

>> import tensorflow as tf
>> x = tf.random.normal(shape=(256, 256, 3))
>> tf.image.adjust_saturation(x, 0.5)


  • InvalidArgumentError: input must have 3 channels