Convert label matrix into RGB image


RGB = label2rgb(L)
RGB = label2rgb(L, map)
RGB = label2rgb(L, map, zerocolor)
RGB = label2rgb(L, map, zerocolor, order)


RGB = label2rgb(L) converts a label matrix, L, such as those returned by labelmatrix, bwlabel, bwlabeln, or watershed, into an RGB color image for the purpose of visualizing the labeled regions. The label2rgb function determines the color to assign to each object based on the number of objects in the label matrix and range of colors in the colormap. The label2rgb function picks colors from the entire range.

This function supports code generation (see ).

RGB = label2rgb(L, map) defines the colormap map to be used in the RGB image. map can have any of the following values:

  • n-by-3 colormap matrix

  • String containing the name of a MATLAB® colormap function, such as 'jet' or 'gray' (See colormap for a list of supported colormaps.)

  • Function handle of a colormap function, such as @jet or @gray

If you do not specify map, the default value is 'jet'.

RGB = label2rgb(L, map, zerocolor) defines the RGB color of the elements labeled 0 (zero) in the input label matrix L. As the value of zerocolor, specify an RGB triple or one of the strings listed in this table.



















If you do not specify zerocolor, the default value for zero-labeled elements is [1 1 1] (white).

RGB = label2rgb(L, map, zerocolor, order) controls how label2rgb assigns colormap colors to regions in the label matrix. If order is 'noshuffle' (the default), label2rgb assigns colormap colors to label matrix regions in numerical order. If order is 'shuffle', label2rgb assigns colormap colors pseudorandomly.

Code Generation support: Yes.

MATLAB Function Block support: Yes.

Class Support

The input label matrix L can have any numeric class. It must contain finite, nonnegative integers. The output of label2rgb is of class uint8.


collapse all

Use Color to Highlight Elements in a Label Matrix

Read an image and display it.

I = imread('rice.png');
figure, imshow(I)

Create a label matrix from the image.

BW = im2bw(I, graythresh(I));
CC = bwconncomp(BW);
L = labelmatrix(CC);

Convert the label matrix into RGB image, using default settings.

RGB = label2rgb(L);
figure, imshow(RGB)

Convert label matrix into RGB image, specifying optional parameters.

RGB2 = label2rgb(L, 'spring', 'c', 'shuffle');
figure, imshow(RGB2)

More About

expand all

Code Generation

This function supports the generation of C code using MATLAB Coder™. For more information, see Code Generation for Image Processing.

When generating code, for best results when using the standard syntax RGB = label2rgb(L, map, zerocolor, order):

  • Submit at least two input arguments: the label matrix, L, and the colormap matrix, map.

  • map must be an n-by-3, double, colormap matrix. You cannot use a string containing the name of a MATLAB colormap function or a function handle of a colormap function.

  • If you set the boundary color zerocolor to the same color as one of the regions, label2rgb will not issue a warning.

  • If you supply a value for order, it must be 'noshuffle'.

MATLAB Function Block

You can use this function in the MATLAB Function Block in Simulink.

Introduced before R2006a

Was this topic helpful?