我想为相同的相同数字组提供不同的颜色。
假设我有一个图像矩阵。
I = [0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 1 1 0 0 0 0 1 0 0
0 1 1 1 0 0 1 1 0 0
0 1 1 0 0 0 1 1 1 0
0 0 1 1 0 0 1 1 0 0
0 0 1 1 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0]
这里我有 1 组 2 次,我想为每组提供两种不同的颜色。但我无法将它们分成两组。我可以为两组都提供一种颜色。
sz=size(I);
color=(1,3)
red(I == 1) = color(1, 1);
green(I == 1) = color(1, 2);
blue(I == 1) = color(1, 3);
for i = 1:sz(1)
for j = 1:sz(2)
if L(i, j) == 1
red(i, j) = color(1, 1);
green(i, j) = color(1, 2);
blue(i, j) = color(1, 3);
end
end
end
end
im = cat(3, red, green, blue);
figure, imshow(im)
请帮帮我......................
最佳答案
在矩阵上使用 bwlabel
来做到这一点。
A=bwlabel(I)
关于arrays - 如何找到相同数量和颜色的组在 MATLAB 中给出不同的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19985057/