【问题标题】:Separate the image colors using MATLAB使用 MATLAB 分离图像颜色
【发布时间】:2011-12-23 07:58:24
【问题描述】:

我刚开始尝试 MATLAB 项目。我曾经将红色、绿色和蓝色分开。 这是我的功能:

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    

现在我想分离三种颜色(粉色、黄色、橙色),我该怎么办?有人知道吗?非常感谢。

【问题讨论】:

  • 感谢您的不赞成投票。
  • 你所说的“分离”三种颜色是什么意思?

标签: matlab


【解决方案1】:

问题不正确。计算机中的图像由 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,然后分别显示通道。

如果你想找到所有“粉色”、“黄色”的物体,你应该做一个分割,并检查物体是指颜色。

请说明你到底想要什么。

【讨论】:

    猜你喜欢
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 2013-01-04
    • 2013-03-15
    • 1970-01-01
    相关资源
    最近更新 更多