← Back to all transforms
FromFloat
Description
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. Args: 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. Targets: image Image types: float32, float64 Note: - 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. Example: >>> 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