TensorFlow 1 version | View source on GitHub |
Convert image
to dtype
, scaling its values if needed.
tf.image.convert_image_dtype(
image, dtype, saturate=False, name=None
)
Images that are represented using floating point values are expected to have
values in the range [0,1). Image data stored in integer data types are
expected to have values in the range [0,MAX]
, where MAX
is the largest
positive representable number for the data type.
This op converts between data types, scaling the values appropriately before casting.
Note that converting from floating point inputs to integer types may lead to
over/underflow problems. Set saturate to True
to avoid such problem in
problematic conversions. If enabled, saturation will clip the output into the
allowed range before performing a potentially dangerous cast (and only before
performing such a cast, i.e., when casting from a floating point to an integer
type, and when casting from a signed to an unsigned type; saturate
has no
effect on casts between floats, or on casts that increase the type's range).
Usage Example:
x = [[[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0]],
[[7.0, 8.0, 9.0],
[10.0, 11.0, 12.0]]]
tf.image.convert_image_dtype(x, dtype=tf.float16, saturate=False)
<tf.Tensor: shape=(2, 2, 3), dtype=float16, numpy=
array([[[ 1., 2., 3.],
[ 4., 5., 6.]],
[[ 7., 8., 9.],
[10., 11., 12.]]], dtype=float16)>
Args | |
---|---|
image
|
An image. |
dtype
|
A DType to convert image to.
|
saturate
|
If True , clip the input before casting (if necessary).
|
name
|
A name for this operation (optional). |
Returns | |
---|---|
image , converted to dtype .
|
Raises | |
---|---|
AttributeError
|
Raises an attribute error when dtype is neither float nor integer |