Matlab 2017:在标记的二值图像中,用不同的颜色填充斑点

Matlab 2017:在标记的二值图像中,用不同的颜色填充斑点,matlab,image-processing,colors,Matlab,Image Processing,Colors,我有一个带有多个斑点的标记二值图像。我想用我定义的颜色填充标记的斑点。例如:如图所示,标签2、4和8的斑点,我希望它们用绿色填充。类似地,标签5、6和11的斑点,我希望它们用红色填充。其余斑点应填充蓝色。我知道label2rgb命令,但不知道如何使用label2rgb进行颜色填充 如何做到这一点?我正在使用Matlab2017 谢谢@Alex Alex的回答。它可以根据我的需要改变斑点的颜色。但是背景像素的颜色变为白色,而只应为黑色。如何解决这个问题?我改变答案。 numlabels = max

我有一个带有多个斑点的标记二值图像。我想用我定义的颜色填充标记的斑点。例如:如图所示,标签2、4和8的斑点,我希望它们用绿色填充。类似地,标签5、6和11的斑点,我希望它们用红色填充。其余斑点应填充蓝色。我知道
label2rgb
命令,但不知道如何使用
label2rgb
进行颜色填充

如何做到这一点?我正在使用Matlab2017


谢谢@Alex Alex的回答。它可以根据我的需要改变斑点的颜色。但是背景像素的颜色变为白色,而只应为黑色。如何解决这个问题?我改变答案。
numlabels = max(L(:));
blue=[0,0,1];
red=[1,0,0];
green=[0,1,0];
cmap=repmat(blue, [numlabels, 1]); % create color map, default color is blue
cmap([2,4,8], :)=repmat(green, [3,1]); % change  color map to green for label 2,4,8
cmap([5,6,11], :)=repmat(red, [3,1]);  % change  color map to red for label 5,6,11
RGB2 = label2rgb(L,cmap,'k'); % 'k' is black background color, see help
imshow(RGB2)