Your company here — click to reach over 10,000 unique daily visitors

i.colors.enhance.1grass - Man Page

Performs auto-balancing of colors for RGB images.


imagery, RGB, satellite, colors


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



Extend colors to full range of data on each channel


Preserve relative colors, adjust brightness only


Reset to standard color range


Process bands serially (default: run in parallel)


Print usage summary


Verbose module output


Quiet module output


Force launching GUI dialog


red=name [required]

Name of red channel

green=name [required]

Name of green channel

blue=name [required]

Name of blue channel


Cropping intensity (upper brightness level)
Options: 0-100
Default: 98


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.


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.


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

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


The strength option requires further refinement.

See Also

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


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

Source Code

Available at: i.colors.enhance source code (history)

Accessed: Tuesday May 14 13:42:01 2024

Main index | Imagery index | Topics index | Keywords index | Graphical index | Full index

© 2003-2024 GRASS Development Team, GRASS GIS 8.3.2 Reference Manual


GRASS 8.3.2 GRASS GIS User's Manual