# tensorflow::ops::DecodePng Class Reference

# tensorflow::ops::DecodePng

`#include <image_ops.h>`

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

## Summary

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.

<br />

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`.

Args:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- contents: 0-D. The PNG-encoded image.

<br />

Optional attributes (see `https://www.tensorflow.org/versions/r2.7/api_docs/cc/struct/tensorflow/ops/decode-png/attrs#structtensorflow_1_1ops_1_1_decode_png_1_1_attrs`):

- channels: Number of color channels for the decoded image.

<br />

Returns:

- `https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output`: 3-D with shape `[height, width, channels]`.

<br />

| ### Constructors and Destructors ||
|---|---|
| `https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/ops/decode-png#classtensorflow_1_1ops_1_1_decode_png_1ab7adeeb5aa6b10893fb6063ee8d6fc87(const ::https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, ::https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input contents)` ||
| `https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/ops/decode-png#classtensorflow_1_1ops_1_1_decode_png_1aa2df55e8e1eed056df69f127ca4cba25(const ::https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, ::https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input contents, const https://www.tensorflow.org/versions/r2.7/api_docs/cc/struct/tensorflow/ops/decode-png/attrs#structtensorflow_1_1ops_1_1_decode_png_1_1_attrs & attrs)` ||

| ### Public attributes ||
|---|---|
| `https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/ops/decode-png#classtensorflow_1_1ops_1_1_decode_png_1a493e0f58c502e83895b5ab8df3ed277c` | `::https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |
| `https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/ops/decode-png#classtensorflow_1_1ops_1_1_decode_png_1ac11da6e89a194ee86e7a82442fb33ed4` | `https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation` |

| ### Public functions ||
|---|---|
| `https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/ops/decode-png#classtensorflow_1_1ops_1_1_decode_png_1adea6247b44969accb1513a6b237bd2d3() const ` | `::tensorflow::Node *` |
| `https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/ops/decode-png#classtensorflow_1_1ops_1_1_decode_png_1a1449fe5081528b4cb081cb224ba20d96() const ` |   |
| `https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/ops/decode-png#classtensorflow_1_1ops_1_1_decode_png_1a19025343d7746c9091afcf01dbba03fd() const ` |   |

| ### Public static functions ||
|---|---|
| `https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/ops/decode-png#classtensorflow_1_1ops_1_1_decode_png_1ac0322c095dfd2d11bca81c46b421847a(int64 x)` | `https://www.tensorflow.org/versions/r2.7/api_docs/cc/struct/tensorflow/ops/decode-png/attrs#structtensorflow_1_1ops_1_1_decode_png_1_1_attrs` |
| `https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/ops/decode-png#classtensorflow_1_1ops_1_1_decode_png_1a656dedb17c75247c916d54efef9fb4f6(DataType x)` | `https://www.tensorflow.org/versions/r2.7/api_docs/cc/struct/tensorflow/ops/decode-png/attrs#structtensorflow_1_1ops_1_1_decode_png_1_1_attrs` |

| ### Structs ||
|---|---|
| [tensorflow::ops::DecodePng::Attrs](https://www.tensorflow.org/versions/r2.7/api_docs/cc/struct/tensorflow/ops/decode-png/attrs) | Optional attribute setters for [DecodePng](https://www.tensorflow.org/versions/r2.7/api_docs/cc/class/tensorflow/ops/decode-png#classtensorflow_1_1ops_1_1_decode_png). |

## Public attributes

### image

```
::tensorflow::Output image
```

### operation

```
Operation operation
```

## Public functions

### DecodePng

```
 DecodePng(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input contents
)
```

### DecodePng

```
 DecodePng(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input contents,
  const DecodePng::Attrs & attrs
)
```

### node

```
::tensorflow::Node * node() const 
```

### operator::tensorflow::Input

```
 operator::tensorflow::Input() const 
```

### operator::tensorflow::Output

```
 operator::tensorflow::Output() const 
```

## Public static functions

### Channels

```
Attrs Channels(
  int64 x
)
```

### Dtype

```
Attrs Dtype(
  DataType x
)
```