Skip to content

i.colors.enhance

Performs auto-balancing of colors for RGB images.

i.colors.enhance [-fprs] red=name green=name blue=name [strength=float] [--verbose] [--quiet] [--qq] [--ui]

Example:

i.colors.enhance red=name green=name blue=name

grass.script.run_command("i.colors.enhance", red, green, blue, strength=98, flags=None, verbose=False, quiet=False, superquiet=False)

Example:

gs.run_command("i.colors.enhance", red="name", green="name", blue="name")

Parameters

red=name [required]
    Name of red channel
green=name [required]
    Name of green channel
blue=name [required]
    Name of blue channel
strength=float
    Cropping intensity (upper brightness level)
    Allowed values: 0-100
    Default: 98
-f
    Extend colors to full range of data on each channel
-p
    Preserve relative colors, adjust brightness only
-r
    Reset to standard color range
-s
    Process bands serially (default: run in parallel)
--help
    Print usage summary
--verbose
    Verbose module output
--quiet
    Quiet module output
--qq
    Very quiet module output
--ui
    Force launching GUI dialog

red : str, required
    Name of red channel
    Used as: input, raster, name
green : str, required
    Name of green channel
    Used as: input, raster, name
blue : str, required
    Name of blue channel
    Used as: input, raster, name
strength : float, optional
    Cropping intensity (upper brightness level)
    Allowed values: 0-100
    Default: 98
flags : str, optional
    Allowed values: f, p, r, s
    f
        Extend colors to full range of data on each channel
    p
        Preserve relative colors, adjust brightness only
    r
        Reset to standard color range
    s
        Process bands serially (default: run in parallel)
verbose: bool, optional
    Verbose module output
    Default: False
quiet: bool, optional
    Quiet module output
    Default: False
superquiet: bool, optional
    Very quiet module output
    Default: False

DESCRIPTION

i.colors.enhance auto-balances and enhances the color channels of a RGB image (e.g. from Landsat) to provide a more natural color mixture. Only the color table of each image band is modified, the base data remains untouched.

The module works by calculating a histogram for each color channel and removing an adjustable amount of outliers from either end before recalibrating the color scale with r.colors.

It will work with any 8-bit RGB imagery set and the script is easily modified to work with other datasets of greater band-depth.

NOTES

Depending on the image, it may or may not be advantageous to use the -p flag to preserve the relative color scaling. You will have to experiment with the different options to find a setting that works best for your particular imagery.

The strength option should generally be set in the 90-99 range. The lower the number, the more saturated the image becomes. It represents the percentage cut-off for the top end of the color histogram curve. The lower end is fixed at 2% of the area under the curve.

For quicker execution of this module on large images you can achieve largely similar results by switching to a coarser resolution before the running of the module (using g.region) and then back to the original resolution afterwards.

EXAMPLE

North Carolina sample dataset example with Landsat data:

g.region raster=lsat7_2002_10 -p
d.rgb blue=lsat7_2002_10 green=lsat7_2002_20 red=lsat7_2002_30
d.barscale at=55.3125,93.125 bcolor=white text_pos=over

i.colors.enhance blue=lsat7_2002_10 green=lsat7_2002_20 red=lsat7_2002_30 strength=95
d.rgb blue=lsat7_2002_10 green=lsat7_2002_20 red=lsat7_2002_30
d.barscale at=55.3125,93.125 bcolor=white text_pos=over

Uncorrected RGB composite of Landsat ETM channels
B/G/R
Uncorrected RGB composite of Landsat ETM channels B/G/R

Color corrected RGB composite of Landsat ETM channels
B/G/R
Color corrected RGB composite of Landsat ETM channels B/G/R

TODO

The strength option requires further refinement.

SEE ALSO

d.rgb, g.region, i.oif, r.colors, r.composite, r.univar

AUTHORS

Markus Neteler, Trento, Italy
M. Hamish Bowman, Dept. Marine Science, Otago University, New Zealand

SOURCE CODE

Available at: i.colors.enhance source code (history)
Latest change: Friday Feb 07 19:16:09 2025 in commit a82a39f