Graphics |
An RGB image, sometimes referred to as a "truecolor" image, is stored in MATLAB as an m-by-n-by-3 data array that defines red, green, and blue color components for each individual pixel. RGB images do not use a palette. The color of each pixel is determined by the combination of the red, green, and blue intensities stored in each color plane at the pixel's location. Graphics file formats store RGB images as 24-bit images, where the red, green, and blue components are 8 bits each. This yields a potential of 16 million colors. The precision with which a real-life image can be replicated has led to the nickname "truecolor image".
An RGB MATLAB array can be of class double
, uint8
, or uint16
. In an RGB array of class double
, each color component is a value between 0 and 1. A pixel whose color components are (0,0,0) displays as black, and a pixel whose color components are (1,1,1) displays as white. The three color components for each pixel are stored along the third dimension of the data array. For example, the red, green, and blue color components of the pixel (10,5) are stored in RGB(10,5,1)
, RGB(10,5,2)
, and RGB(10,5,3)
, respectively.
To display the truecolor image RGB
, use the image
function. For example,
If MATLAB is running on a computer that does not have hardware support for truecolor image display, MATLAB uses color approximation and dithering to display an approximation of the image. See "Dithering Truecolor on Indexed Color Systems" for more information.
The next figure shows an RGB image of class double
.
To determine the color of the pixel at (2,3), you would look at the RGB triplet stored in (2,3,1:3). Suppose (2,3,1) contains the value 0.5176
, (2,3,2) contains 0.1608
, and (2,3,3) contains 0.0627
. The color for the pixel at (2,3) is
Intensity Images | Working with 8-Bit and 16-Bit Images |