View source on GitHub
|
Contrast Limited Adaptive Histogram Equalization (CLAHE) layer.
Inherits From: Layer, Operation
tf.keras.layers.ContrastLimitedAdaptiveHistogramEqualization(
value_range=(0, 255),
clip_limit=4.0,
tile_grid_size=(8, 8),
data_format=None,
**kwargs
)
CLAHE is a variant of Adaptive Histogram Equalization (AHE) which takes care of over-amplification of the contrast. It operates on small regions in the image, called tiles, rather than the entire image. The neighboring tiles are then combined using bilinear interpolation to remove the artificial boundaries. This algorithm can be applied to improve the contrast of an image.
Input shape | |
|---|---|
3D
|
unbatched) or 4D (batched) tensor with shape
|
Output shape | |
|---|---|
3D
|
unbatched) or 4D (batched) tensor with shape
|
Example:
import keras
import numpy as np
# Create a CLAHE layer with default parameters
clahe = keras.layers.ContrastLimitedAdaptiveHistogramEqualization()
# Apply CLAHE to an image
# image values should be in the range[0, 255] by default
input_image = np.random.randint(0, 256, (1, 256, 256, 3))
output_image = clahe(input_image)
# For normalized images[0, 1]
clahe_normalized=keras.layers.ContrastLimitedAdaptiveHistogramEqualization(
value_range=(0.0, 1.0)
)
norm_image = np.random.rand(1, 256, 256, 3)
output_norm = clahe_normalized(norm_image)
Methods
convert_weight
convert_weight(
weight
)
Convert the weight if it is from the a different backend.
from_config
@classmethodfrom_config( config )
Creates an operation from its config.
This method is the reverse of get_config, capable of instantiating the
same operation from the config dictionary.
if "dtype" in config and isinstance(config["dtype"], dict):
policy = dtype_policies.deserialize(config["dtype"])
| Args | |
|---|---|
config
|
A Python dictionary, typically the output of get_config.
|
| Returns | |
|---|---|
| An operation instance. |
get_random_transformation
get_random_transformation(
data, training=True, seed=None
)
transform_bounding_boxes
transform_bounding_boxes(
bounding_boxes, transformation, training=True
)
transform_images
transform_images(
images, transformation=None, training=True
)
transform_labels
transform_labels(
labels, transformation, training=True
)
transform_segmentation_masks
transform_segmentation_masks(
segmentation_masks, transformation, training=True
)
transform_single_bounding_box
transform_single_bounding_box(
bounding_box, transformation, training=True
)
transform_single_image
transform_single_image(
image, transformation, training=True
)
transform_single_label
transform_single_label(
label, transformation, training=True
)
transform_single_segmentation_mask
transform_single_segmentation_mask(
segmentation_mask, transformation, training=True
)
View source on GitHub