i.colors.enhance(1)

✨ i.colors.enhance ✨ (the GRASS GIS User's Manual era) πŸŽ€

okay bestie, gather round, because this is the manual page for i.colors.enhance, and she is that girl πŸ’…

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. 🫢 no cap, your actual pixels are safe.

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. πŸ”¬ lowkey a vibe-check-your-own-data situation.

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 😍 the glow-up is REAL


🚧 TODO 🚧

The strength option requires further refinement. πŸ› οΈ she's a work in progress, bestie.


πŸ‘€ 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: Saturday Jan 17 05:41:52 2026 ⏰

Main index | Imagery index | Topics index | Keywords index | Graphical index | Full index πŸ—‚οΈ


πŸ’– and that's the whole page, bestie. GRASS 8.4.2, Β© 2003-2025 GRASS Development Team, straight outta the GRASS GIS 8.4.2 Reference Manual β€” go balance some colors, you absolute icon, periodt. πŸ’…βœ¨πŸŒΈ
πŸ“¦ where this page comes from