FromFloat
Convert an image from floating point representation to the specified data type.
This transform is designed to convert images from a normalized floating-point representation
(typically with values in the range [0, 1]) to other data types, scaling the values appropriately.
Supported Targets
image
Arguments
Name | Type | Default | Description |
---|---|---|---|
dtype | str | The desired output data type. Supported types include 'uint8', 'uint16', 'uint32'. Default: 'uint8'. | |
max_value | float | None | The maximum value for the output dtype. If None, the transform will attempt to infer the maximum value based on the dtype. Default: None. | |
p | float | Probability of applying the transform. Default: 1.0. |
Image Types
float32, float64
Notes
- This is the inverse transform for ToFloat.
- Input images are expected to be in floating point format with values in the range [0, 1].
- For integer output types (uint8, uint16, uint32), the function will scale the values
to the appropriate range (e.g., 0-255 for uint8).
- For float output types (float32, float64), the values will remain in the [0, 1] range.
- The transform uses the
from_float
function internally, which ensures output values
are within the valid range for the specified dtype.Examples
>>> import numpy as np
>>> import albumentations as A
>>> transform = A.FromFloat(dtype='uint8', max_value=None, p=1.0)
>>> image = np.random.rand(100, 100, 3).astype(np.float32) # Float image in [0, 1] range
>>> result = transform(image=image)
>>> uint8_image = result['image']
>>> assert uint8_image.dtype == np.uint8
>>> assert uint8_image.min() >= 0 and uint8_image.max() <= 255