Graphics    

8-Bit and 16-Bit Indexed Images

If the class of X is uint8 or uint16, its values are offset by one before being used as colormap indices. The value 0 points to the first row of the colormap, the value 1 points to the second row, and so on. The image command automatically supplies the proper offset, so the display method is the same whether X is double, uint8, or uint16.

The colormap index offset for uint8 and uint16 data is intended to support standard graphics file formats, which typically store image data in indexed form with a 256-entry colormap. The offset allows you to manipulate and display images of this form in MATLAB using the more memory-efficient uint8 and uint16 arrays.

Because of the offset, you must add 1 to convert a uint8 or uint16 indexed image to double. For example,

Conversely, subtract 1 to convert a double indexed image to uint8 or uint16.

The order of operations must be as shown, because most MATLAB mathematical operations cannot be performed on uint8 and uint16 arrays.


  Working with 8-Bit and 16-Bit Images 8-Bit and 16-Bit Intensity Images