我刚开始尝试MATLAB Project。我曾经把红色,绿色和蓝色分开。 这是我的功能:
function x = colorsep(b) %
n = 256; % color is from 0->255, so it has 256
a = imread('peppers.png');
b=im2uint8(a);
x=figure; % create picture to put the image
subplot(2,2,1); %(2 rows, 2column, cell ti 1)
imshow(b),title('Full Color');
colorlist = {'Red','Green','Blue'};
gr = 0:1/(n-1):1;
for k=1:3
cMap = zeros(n,3);
cMap(:,k) = gr;
subplot(2,2,k+1);
imshow(ind2rgb(b(:,:,k),cMap)); %ind2r = index to rgb
title(colorlist{k});
end
end
现在我要分三种颜色(粉红色,黄色,橙色),我该怎么办?有人知道吗?非常感谢。
答案 0 :(得分:4)
问题不正确。计算机中的图像由3个颜色通道组成
你在这里做的是显示单个通道,其颜色图对应于它。 顺便说一句,色彩图是不可靠的,你可以像那样(更自然)
显示它function colorsep() %
a = imread('peppers.png');
colorlist = {'R','G','B'};
subplot(2,2,1);
imshow(a);
for k=1:3
subplot(2,2,k+1);
imshow( a(:,:,k));
title(colorlist{k});
end
end
如果要在另一个颜色空间中分隔它,首先应将其转换为另一个颜色空间 - 如LAB,然后单独显示通道。
如果要查找所有“粉红色”,“黄色”对象,则应进行分割,并检查对象的颜色。
请说明你想要的是什么。