Steve on Image Processing

November 11th, 2009

I’m looking for a replacement for “truecolor”

The Image Processing Toolbox has terminology conventions for four different image types:

  • Binary images
  • Gray-scale images
  • Indexed images
  • Truecolor images

You'll also frequently see the term RGB image, which is shorthand for a truecolor image using an RGB color space. (See the User Guide section on image types.)

Over the last few years I've become increasingly dissatisfied with the term truecolor.

Wikipedia has a brief article on truecolor. The article says the term describes a "method of representing and storing graphical image information." It goes on to say that a truecolor representation is one that either:

(a) can represent a large number of colors, typically at least 2^24.

(b) does not use a color look-up table ("colormap" in MATLAB terminology)

Curiously, the article refers to (a) and (b) as "equivalent" statements.

Defining an image representation method in terms of whether it represents a lot of colors is too vague to be very useful in my view. Defining a representation in terms of a characteristic it does not possess (that is, a truecolor representation does not use a color look-up table) is similarly vague.

Also, as I learn more about color science I've grown uncomfortable with the idea that any computer or mathematical representation of color can really be called "true color."

Here's the definition I really want to see:

[blank] is a method of representing image information in which each image pixel is stored as a vector of color-space component values.

But what's a good term to go along with this definition? Help me fill in the blank by commenting with your thoughts.


Get the MATLAB code

Published with MATLAB® 7.9

18 Responses to “I’m looking for a replacement for “truecolor””

  1. Alan B replied on :

    It’s a format that can take full advantage of the hardware abilities, so how about “full color” ?

    A similar format, also storing pixels as vectors of color-space component values, but using less than the full hardware range, could just be “partial color”.

  2. Steve replied on :

    Alan—Thanks.

  3. Matt Whitaker replied on :

    I suppose RGB images could be described as multi-spectral images.

    I definitely agree that truecolor is misleading

  4. Adi replied on :

    How about “multi-channel image”?

  5. Mark Andrews replied on :

    Good luck, Steve. This is a minefield. You have a data-type that tries to be all things to all people: something that can hold photometric data, radiometric data or entirely uncalibrated data (like RGB). I see you generalised the definition to “a VECTOR of color-space component values” so that invites in the multispectral and hyperspectral crowd as well.

    The purist in me wants to suggest “multi-channel” but I suspect you’re after something snappier than that :-)

  6. Dan replied on :

    I too have been troubled by the term…. it suggests some “physiological compatibility” which is unfortunate since a lot of effort went into coming up with CIE colorspace to try and address this issue.

  7. Steve replied on :

    Alan, Matt, Adi, Mark, Dan—Guess I’m not the only one to wonder about this issue! Thanks for your suggestions. Mark, I was pretty sure about the minefield part going in. ;-)

  8. Steve replied on :

    Mark—I had to generalize further than 3-element vector just to include the color science functionality. Think CMYK or six-ink printers.

  9. Gene Dial replied on :

    GeoEye multi-spectral satellite imagery is available in Blue, Green, Red, and Near-Infrared bands. Image products can be produced in RGB, NRG, and BGRN band combinations. (NRG products have satellite NIR in the red TIFF position, satellite red in the green TIFF position, and satellite green in the blue position of the TIFF files.) We use “true color” for RGB products, “false color” or “color infra-red (CIR)” for NRG products , and “4-band” to describe BGRN products (delivered as 4-band TIFF files). A “color” product can be RGB, NRG, or BGRN. Use of this taxonomy has simplified our ordering, production and delivery processes and so may be useful in other contexts.
    –Gene Dial, Director of Product Engineering, GeoEye Inc.

  10. Steve replied on :

    Gene—Thanks very much, that’s useful info. I had forgotten about that use of the term “true color.”

  11. Nash replied on :

    I’d say “Spectral unit”,”Spectral pixel” or to make it snazzier “Lambda pixel” makes sense to me, since in an RGB image, each pixel contains a tiny representation of the light spectrum it is supposed to simulate. This is also general enough to take into account non-RGB images such as those Gene Dial mentioned.

    On a similar note, we often refer to Grayscale images as Intensity images.Thus you can decompose a ’spectral image’ into many intensity images, each representing a certain band of wavelengths.

  12. Oliver Woodford replied on :

    real-vector color

  13. Oliver Woodford replied on :

    Or “discrete-vector color” for integer type images.

  14. Yipeng replied on :

    I like “multi-channel image” or, simply, “colour image”.

  15. Steve replied on :

    Nash, Oliver, Yipeng—Thanks very much.

    I’m intrigued by the idea of just using “color image.” When a distinction needs to be made between the common representations, we could say that a color image is either multi-channel or indexed.

  16. Nash replied on :

    A color image is Indexed, it is an image made up of colors.

  17. Steve replied on :

    Nash—I don’t agree. Or perhaps I just don’t understand your point. A color image represented in multichannel form is not indexed.

  18. Nash replied on :

    For the sake of discussion:

    At least, thought of it in terms of if the image has a numerical Z-axis , or if the Z-axis is categorical.

    An RGB Image is a multi-channel intensity image.
    A grayscale image is a single channel intensity image.

    An indexed image is a single channel(usually) color image - the effectively categorical Z values. Of course, there could be intensity information mapped by matching categories to intensity bins, but that is additional information not necessarily contained in the image.

    In any case, this is a semantic issue - I just tend to define an image based on what it is made up of, rather than whether it is a ‘color image’ in the colloquial sense.

Leave a Reply

Wrap code fragments inside <pre> tags, like this:

<pre class="code">
a = magic(3);
sum(a)
</pre>

If you have a "<" character in your code, either follow it with a space or replace it with "&lt;" (including the semicolon).


Steve Eddins manages the Image & Geospatial development team at The MathWorks and coauthored Digital Image Processing Using MATLAB. He writes here about image processing concepts, algorithm implementations, and MATLAB.

  • Frida: I totally agree. I want to find a global average threshold from a large number of images so my initial...
  • Steve: Dansheng—The following code will give you the binary image corresponding to a single object. L =...
  • Dansheng Song: Hi Steve, Your posts are very helpful for Matlab users. Do you know how can I get the binary image by...
  • DP: Thanks Steve. it did work. now can easily calculate DSC.
  • Steve: DP— A & B
  • DP: Hi Steve, Dice similarity coefficient is defined to find the overlapped regions between two objects in an image....
  • Steve: Searching— axis on
  • Steve: DP—Sorry, but I’ve never heard of dice similarity coefficients.
  • searching: Hey, I found this place extremely useful. I have a question though. Although I manage to plot my points on...
  • DP: Hi Steve, thanks for your email. i could not seperate those connected objects. Instead i am trying to compare...

These postings are the author's and don't necessarily represent the opinions of The MathWorks.