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
NameTypeDefaultDescription
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