我从卫星图像中提取了超过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等等?
非常感谢你的帮助
答案 0 :(得分:2)
对于4个二进制图像,每个像素总共有2 ^ 4 = 16种可能的“颜色”,因为它是“水”/“土壤”或这些类的组合(如果在您的系统中是可能的话)。 / p>
因此,您可以将b1
... b4
转换为单个图片:
>> l = b1 + 2*b2 + 4*b3 + 8*b4;
>> imshow( l ); colormap( rand(16,3) ); % random color map