The COLOR_RANGE_MAP function maps all the pixels of an image to another set of pixels, using source and target ranges to control the mapping. The mapping is performed on each image channel individually. Channel values falling within the source range are linearly mapped to the target range. The same linear mapping is applied to channel values falling outside the source range, and these values are clipped to the range of the image’s data type.
Examples
In this example, COLOR_RANGE_MAP will tone down the first (red) channel in an image and make a negative of an image:
file = FILEPATH('rose.jpg', SUBDIRECTORY = ['examples', 'data'])
IOPEN, file, rose1
rose2 = COLOR_RANGE_MAP(rose1, [0,0,0], [255,255,255], [0,0,0],$
[200,255,255])
rose3 = COLOR_RANGE_MAP(rose1, [0,0,0], [255,255,255],$
[255,255,255], [0,0,0])
IIMAGE, rose1, VIEW_GRID=[3,1], VIEW_TITLE='Original', $
DIMENSIONS=[900,300], WINDOW_TITLE='COLOR_RANGE_MAP Example', $
/NO_SAVEPROMPT
IIMAGE, rose2, /VIEW_NEXT, VIEW_TITLE='Less Red'
IIMAGE, rose3, /VIEW_NEXT, VIEW_TITLE='Negative'
ISETPROPERTY, 'text*', FONT_SIZE=40
Syntax
Result = COLOR_RANGE_MAP(Image, FromColor1, FromColor2, ToColor1, ToColor2)
Return Value
Result is an array of the same dimensions and type as Image.
Arguments
Image
A 2D or 3D array of any basic type containing the input image. 2D arrays are treated as one-channel images. 3D arrays must be of the form [N x n x m] where N is the number of image channels.
FromColor1
An N-element vector that specifies the starting color in the source range, where N is the number of channels.
FromColor2
An N-element vector that specifies the ending color in the source range, where N is the number of channels.
ToColor1
An N-element vector that specifies the starting color in the target range, where N is the number of channels.
ToColor2
An N-element vector that specifies the ending color in the target range, where N is the number of channels.
Keywords
None
Version History