Detects whether an image is a BMP, GIF, JPEG, or PNG, and performs the
appropriate operation to convert the input bytes string into a Tensor
of type dtype.
Args
contents
0-D string. The encoded image bytes.
channels
An optional int. Defaults to 0. Number of color channels for
the decoded image.
dtype
The desired DType of the returned Tensor.
name
A name for the operation (optional)
expand_animations
Controls the shape of the returned op's output. If
True, the returned op will produce a 3-D tensor for PNG, JPEG, and BMP
files; and a 4-D tensor for all GIFs, whether animated or not. If,
False, the returned op will produce a 3-D tensor for all file types and
will truncate animated GIFs to the first frame.
Returns
Tensor with type dtype and a 3- or 4-dimensional shape, depending on
the file type and the value of the expand_animations parameter.
[null,null,["Last updated 2020-10-01 UTC."],[],[],null,["# tf.io.decode_image\n\n\u003cbr /\u003e\n\n|-------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|\n| [TensorFlow 2 version](/api_docs/python/tf/io/decode_image) | [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/python/ops/image_ops_impl.py#L2204-L2317) |\n\nFunction for `decode_bmp`, `decode_gif`, `decode_jpeg`, and `decode_png`.\n\n#### View aliases\n\n\n**Main aliases**\n\n[`tf.image.decode_image`](/api_docs/python/tf/io/decode_image)\n**Compat aliases for migration**\n\nSee\n[Migration guide](https://www.tensorflow.org/guide/migrate) for\nmore details.\n\n[`tf.compat.v1.image.decode_image`](/api_docs/python/tf/io/decode_image), [`tf.compat.v1.io.decode_image`](/api_docs/python/tf/io/decode_image), \\`tf.compat.v2.image.decode_image\\`, \\`tf.compat.v2.io.decode_image\\`\n\n\u003cbr /\u003e\n\n tf.io.decode_image(\n contents, channels=None, dtype=tf.dtypes.uint8, name=None,\n expand_animations=True\n )\n\nDetects whether an image is a BMP, GIF, JPEG, or PNG, and performs the\nappropriate operation to convert the input bytes `string` into a `Tensor`\nof type `dtype`.\n| **Note:** `decode_gif` returns a 4-D array `[num_frames, height, width, 3]`, as opposed to `decode_bmp`, `decode_jpeg` and `decode_png`, which return 3-D arrays `[height, width, num_channels]`. Make sure to take this into account when constructing your graph if you are intermixing GIF files with BMP, JPEG, and/or PNG files. Alternately, set the `expand_animations` argument of this function to `False`, in which case the op will return 3-dimensional tensors and will truncate animated GIF files to the first frame.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|---------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `contents` | 0-D `string`. The encoded image bytes. |\n| `channels` | An optional `int`. Defaults to `0`. Number of color channels for the decoded image. |\n| `dtype` | The desired DType of the returned `Tensor`. |\n| `name` | A name for the operation (optional) |\n| `expand_animations` | Controls the shape of the returned op's output. If `True`, the returned op will produce a 3-D tensor for PNG, JPEG, and BMP files; and a 4-D tensor for all GIFs, whether animated or not. If, `False`, the returned op will produce a 3-D tensor for all file types and will truncate animated GIFs to the first frame. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| `Tensor` with type `dtype` and a 3- or 4-dimensional shape, depending on the file type and the value of the `expand_animations` parameter. ||\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|--------------|----------------------------------|\n| `ValueError` | On incorrect number of channels. |\n\n\u003cbr /\u003e"]]