histogram_matching
HistogramMatching
¶
Bases: ImageOnlyAlbumentation
Apply histogram matching.
It manipulates the pixels of an input image so that its histogram matches the histogram of the reference image. If the images have multiple channels, the matching is done independently for each channel, as long as the number of channels is equal in the input image and the reference.
Histogram matching can be used as a lightweight normalization for image processing, such as feature matching, especially in circumstances where the images have been taken from different sources or in different conditions.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
reference_images
|
Union[Any, Iterable[Any]]
|
Sequence of objects that will be converted to images by read_fn. Can either be path of images or numpy arrays (depends upon read_fn). |
required |
blend_ratio
|
Tuple[float, float]
|
Tuple of min and max blend ratio. Matched image will be blended with original with random blend factor for increased diversity of generated images. |
(0.5, 1.0)
|
read_fn
|
Callable
|
User-defined function to read image, tensor or numpy array. Function should get an element of reference_images |
lambda x: x
|
inputs
|
Union[str, Iterable[str]]
|
Key(s) of images to be modified. |
required |
outputs
|
Union[str, Iterable[str]]
|
Key(s) into which to write the modified images. |
required |
mode
|
Union[None, str, Iterable[str]]
|
What mode(s) to execute this Op in. For example, "train", "eval", "test", or "infer". To execute regardless of mode, pass None. To execute in all modes except for a particular one, you can pass an argument like "!infer" or "!train". |
None
|
ds_id
|
Union[None, str, Iterable[str]]
|
What dataset id(s) to execute this Op in. To execute regardless of ds_id, pass None. To execute in all ds_ids except for a particular one, you can pass an argument like "!ds1". |
None
|