---
name: "i.colors.enhance"
section: "1grass"
platform: "linux"
package: "grass-doc"
version: "8.4.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/i.colors.enhance"
---

# i.colors.enhance(1grass)

Performs auto-balancing of colors for RGB images.

## NAME

**i.colors.enhance**  - Performs auto-balancing of colors for RGB images.

## KEYWORDS

imagery, RGB, satellite, colors

## SYNOPSIS

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

### Flags:

- **-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

- **--ui**

  Force launching GUI dialog

### 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)\
   Options: *0-100*\
   Default: *98*

## 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

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)

Accessed: Monday Feb 24 17:51:44 2025

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

© 2003-2025 GRASS Development Team, GRASS GIS 8.4.1 Reference Manual
