# tf.raw_ops.DecodePng

<br />

Decode a PNG-encoded image to a uint8 or uint16 tensor.

#### View aliases


**Compat aliases for migration**

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

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

<br />

    tf.raw_ops.DecodePng(
        contents,
        channels=0,
        dtype=https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/dtypes#uint8,
        name=None
    )

The attr `channels` indicates the desired number of color channels for the
decoded image.

#### Accepted values are:

- 0: Use the number of channels in the PNG-encoded image.
- 1: output a grayscale image.
- 3: output an RGB image.
- 4: output an RGBA image.

If needed, the PNG-encoded image is transformed to match the requested number
of color channels.

This op also supports decoding JPEGs and non-animated GIFs since the interface
is the same, though it is cleaner to use [`tf.io.decode_image`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/io/decode_image).

<br />

<br />

<br />

| ## Args ||
|---|---|
| `contents` | A `Tensor` of type `string`. 0-D. The PNG-encoded image. |
| `channels` | An optional `int`. Defaults to `0`. Number of color channels for the decoded image. |
| `dtype` | An optional [`tf.DType`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/dtypes/DType) from: `tf.uint8, tf.uint16`. Defaults to [`tf.uint8`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf#uint8). |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `Tensor` of type `dtype`. ||

<br />