i.colors.enhance.1grass man page

i.colors.enhance — 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

Last changed: $Date: 2018-03-04 13:06:43 +0100 (Sun, 04 Mar 2018) $

Source Code

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

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

© 2003-2018 GRASS Development Team, GRASS GIS 7.4.1 Reference Manual


GRASS 7.4.1 Grass User's Manual