# tf.image.per_image_standardization

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/ops/image_ops_impl.py#L1949-L2005) |

Linearly scales each image in `image` to have mean 0 and variance 1.

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.image.per_image_standardization`](https://www.tensorflow.org/api_docs/python/tf/image/per_image_standardization)

<br />

    tf.image.per_image_standardization(
        image
    )

For each 3-D image `x` in `image`, computes `(x - mean) / adjusted_stddev`,
where

- `mean` is the average of all values in `x`
- `adjusted_stddev = max(stddev, 1.0/sqrt(N))` is capped away from 0 to protect against division by 0 when handling uniform images
  - `N` is the number of elements in `x`
  - `stddev` is the standard deviation of all values in `x`

#### Example Usage:

    image = tf.constant(np.arange(1, 13, dtype=np.int32), shape=[2, 2, 3])
    image # 3-D tensor
    <tf.Tensor: shape=(2, 2, 3), dtype=int32, numpy=
    array([[[ 1,  2,  3],
            [ 4,  5,  6]],
           [[ 7,  8,  9],
            [10, 11, 12]]], dtype=int32)>
    new_image = tf.image.per_image_standardization(image)
    new_image # 3-D tensor with mean ~= 0 and variance ~= 1
    <tf.Tensor: shape=(2, 2, 3), dtype=float32, numpy=
    array([[[-1.593255  , -1.3035723 , -1.0138896 ],
            [-0.7242068 , -0.4345241 , -0.14484136]],
           [[ 0.14484136,  0.4345241 ,  0.7242068 ],
            [ 1.0138896 ,  1.3035723 ,  1.593255  ]]], dtype=float32)>

<br />

<br />

<br />

| ## Args ||
|---|---|
| `image` | An n-D `Tensor` with at least 3 dimensions, the last 3 of which are the dimensions of each image. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `Tensor` with the same shape as `image` and its dtype is `float32`. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `ValueError` | The shape of `image` has fewer than 3 dimensions. |

<br />