Copyright © Fred Weinhaus My scripts are available free of charge for non-commercial (non-profit) use, ONLY. For use of my scripts in commercial (for-profit) environments or non-free applications, please contact me (Fred Weinhaus) for licensing arrangements. My email address is fmw at alink dot net. If you: 1) redistribute, 2) incorporate any of these scripts into other free applications or 3) reprogram them in another scripting language, then you must contact me for permission, especially if the result might be used in a commercial or for-profit environment. Usage, whether stated or not in the script, is restricted to the above licensing arrangements. It is also subject, in a subordinate manner, to the ImageMagick license, which can be found at: http://www.imagemagick.org/script/license.php Please read the Pointers For Use on my home page to properly install and customize my scripts. |
Smoothly colorize a grayscale image with either one, two or three different colors |
last modified: December 16, 2018
USAGE: tricolorize [-l lcolor] [-m mcolor] [-h hcolor] [-c contrast] [-o offset] [-t type] infile outfile [lutfile]
-l .... lcolor ........... Color for low end of grayscale; Any valid IM color is allowed; PURPOSE: To smoothly colorize a grayscale image with either one, two or three different colors. DESCRIPTION: TRICOLORIZE smoothly colorizes a grayscale image with either one, two or three different colors. If the input image is color, it will be converted to grayscale first. Using an appropriate mid color with low color of black and high color of white will allow one to tint an image. This achieves the same result as my tricolorize script, except the default type there is quadratic. The script generates a color look up table (lut) and applies it against the grayscale version of the image. The lut can be saved, if desired, for future use and will have a size of 256x20 pixels. ARGUMENTS: -l lcolor ... LCOLOR is the color to use at the low end of the grayscale. The default=black. Any valid IM color is allowed. See http://imagemagick.org/script/color.php -m mcolor ... MCOLOR is the color to use in the mid grayscale range. The default=gray50. Any valid IM color is allowed. See http://imagemagick.org/script/color.php For tinting, a good choice of colors may be specified as hsl with saturation about 25% and lightness about 50% and your choice of hue in range 0 to 360 degrees. For reference, see http://homepages.cwi.nl/~steven/css/hsl-examples.html -h hcolor ... HCOLOR is the color to use at the high end of the grayscale. The default=white. Any valid IM color is allowed. See http://imagemagick.org/script/color.php -c contrast ... CONTRAST is the percent change in color contrast. Values are integers such that -100<=contrast<=100. The default=0. -o offset ... OFFSET is the percent shift of the colors in the lut. Values are integers such that -100<=offset<=100. Positive values shift the colors towards the brighter end of the grayscale and negative values shift the colors towards the darker end of the grayscale. The default=0. -t type ... TYPE of smoothing/interpolation of the colors to fill out the look up table. The choices are: cubic, gaussian, quadratic, triangle and point. The default=triangle. IMPORTANT: Prior to IM 6.5.6-6, hue was specified in the range of 0-360, when saturation and lightness/brightness were either in the range of 0-255 or 0%-100%. Afterwards, hue was specified as percent when saturation and lightness/brightness were percent. CAVEAT: No guarantee that this script will work on all platforms, nor that trapping of inconsistent parameters is complete and foolproof. Use At Your Own Risk. |
Variations In 1 Color (Tinting) |
||
|
Original Image |
|
![]() |
||
|
Grayscale Image |
|
![]() |
||
Arguments: |
Tinted Image |
Color LUT Image |
-m "hsl(0,25%,50%)" |
![]() |
![]() |
-m "hsl(30,25%,50%)" |
![]() |
![]() |
-m "hsl(60,25%,50%)" |
![]() |
![]() |
-m "hsl(90,25%,50%)" |
![]() |
![]() |
-m "hsl(120,25%,50%)" |
![]() |
![]() |
-m "hsl(150,25%,50%)" |
![]() |
![]() |
-m "hsl(180,25%,50%)" |
![]() |
![]() |
-m "hsl(210,25%,50%)" |
![]() |
![]() |
-m "hsl(240,25%,50%)" |
![]() |
![]() |
-m "hsl(270,25%,50%)" |
![]() |
![]() |
-m "hsl(300,25%,50%)" |
![]() |
![]() |
-m "hsl(330,25%,50%)" |
![]() |
![]() |
2 Colors -- Blue, Yellow, Blue -- Variations In Type |
||
|
Original Image |
|
![]() |
||
|
Grayscale Image |
|
![]() |
||
Arguments: |
Colorized Image |
Color LUT Image |
-l blue -m yellow -h blue -t cubic |
![]() |
![]() |
-l blue -m yellow -h blue -t quadratic |
![]() |
![]() |
-l blue -m yellow -h blue -t gaussian |
![]() |
![]() |
-l blue -m yellow -h blue -t triangle |
![]() |
![]() |
3 Colors -- Blue, Yellow, Red -- Variations In Contrast |
||
|
Original Image |
|
![]() |
||
|
Grayscale Image |
|
![]() |
||
Arguments: |
Colorized Image |
Color LUT Image |
-l blue -m yellow -h red -c -20 |
![]() |
![]() |
-l blue -m yellow -h red -c 0 |
![]() |
![]() |
-l blue -m yellow -h red -c 20 |
![]() |
![]() |
3 Colors -- Blue, Yellow, Red -- Variations In Offset |
||
|
Original Image |
|
![]() |
||
|
Grayscale Image |
|
![]() |
||
Arguments: |
Colorized Image |
Color LUT Image |
-l blue -m yellow -h red -o -10 |
![]() |
![]() |
-l blue -m yellow -h red -o 0 |
![]() |
![]() |
-l blue -m yellow -h red -o 10 |
![]() |
![]() |
What the script does is as follows:
This is equivalent to the following IM commands for the luminance colormode.
|