Deterministically radomize jpeg encoding quality for inducing jpeg noise.
tf.image.stateless_random_jpeg_quality( image, min_jpeg_quality, max_jpeg_quality, seed )
Guarantees the same results given the same seed
independent of how many times the function is called, and independent of global seed settings (e.g. tf.random.set_seed
).
min_jpeg_quality
must be in the interval [0, 100]
and less than max_jpeg_quality
. max_jpeg_quality
must be in the interval [0, 100]
.
x = [[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]] x_uint8 = tf.cast(x, tf.uint8) seed = (1, 2) tf.image.stateless_random_jpeg_quality(x_uint8, 75, 95, seed) <tf.Tensor: shape=(2, 2, 3), dtype=uint8, numpy= array([[[ 0, 4, 5], [ 1, 5, 6]], [[ 5, 9, 10], [ 5, 9, 10]]], dtype=uint8)>
Args | |
---|---|
image | 3D image. Size of the last dimension must be 1 or 3. |
min_jpeg_quality | Minimum jpeg encoding quality to use. |
max_jpeg_quality | Maximum jpeg encoding quality to use. |
seed | A shape [2] Tensor, the seed to the random number generator. Must have dtype int32 or int64 . (When using XLA, only int32 is allowed.) |
Returns | |
---|---|
Adjusted image(s), same shape and DType as image . |
Raises | |
---|---|
ValueError | if min_jpeg_quality or max_jpeg_quality is invalid. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/image/stateless_random_jpeg_quality