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 of MATLAB's 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