Goal:  To implement an algorithm that converts a range of gray-scale values of an image to color.


I implemented the algorithm in matlab.  It works by checking the gray-scale values against the specified range in each color plane and replacing the values that fall within that range by red, green, or blue.  You can specify the gray-scale range and the RGB value to replace it.  In some cases you may need to go some fraction outside the desired range because I used floating point values to do the arithmetic, and there may be floating point round off problems during the range comparisons.  For the test image below, I chose the range -1 to 20 (inclusive) to convert the river to a yellow color.  It seems to have worked pretty well.  There are only a few small areas outside the river that were converted to yellow.  At the same time, the procedure appears to have done a nice job of highlighting the river.


Fig. 2a and 2b below.  Choosing a range of values for this image was easy because the river is located

completely at the darker end of the gray-scale spectrum.




Get the code here.