【问题标题】:How to display several binary images with different colors in matlab?如何在matlab中显示几个不同颜色的二值图像?
【发布时间】:2013-07-22 12:28:47
【问题描述】:

我有超过 3 个从卫星图像中提取的二进制图像,它们显示了不同的类别(例如,值为 1 的像素是水,0 是非水的像素,其他类别(如土壤等)也是如此)。我想知道有没有办法在一个图中显示这些类。我知道有 3 个类我们可以使用 'imshow' 或 'image' 但是超过 3 个类呢。我的代码就是这样的:

a=rand(4,4,4);
b1=(a(:,:,1)<=0.5);
b2=(a(:,:,2)<=0.5); 
b3=(a(:,:,3)<=0.5);
b4=(a(:,:,4)<=0.5);

现在我怎么能在一个图中用红色显示 b1,用绿色显示 b2 等等??

非常感谢您的帮助

【问题讨论】:

    标签: matlab image-processing binary color-mapping satellite-image


    【解决方案1】:

    对于 4 张二值图像,每个像素总共有 2^4 = 16 种可能的“颜色”,根据它是“水”/“土壤”或这些类别的组合(如果在您的系统中可能的话)。

    因此您可以将b1...b4 转换为单个图像:

    >> l = b1 + 2*b2 + 4*b3 + 8*b4; 
    >> imshow( l ); colormap( rand(16,3) ); % random color map
    

    【讨论】:

      猜你喜欢
      • 2015-02-08
      • 1970-01-01
      • 2018-11-06
      • 1970-01-01
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 2012-06-01
      • 2012-09-27
      相关资源
      最近更新 更多