使用CAT的matlab错误,连接的矩阵的维数不一致

时间:2015-10-16 10:58:57

标签: matlab matrix matlab-figure matlab-guide matlab-deployment

我正在尝试从图像计算纯色蓝色并将其与原始蓝色通道进行比较。然后我必须解释使用纯色而不是RGB通道的优势。

这是我的代码:

>> RGB = double( imread('players.jpeg'))/255;
>> imagesc(RGB);

enter image description here

>> red = RGB( :,:,1);
>> green = RGB( :,:,2);
>> blue = RGB( :,:,3);
>> pure_BLUE = blue ./ (red+green+blue);
>> imagesc(pure_BLUE);

enter image description here

然而当我使用它时:

>> imagesc(cat(3,pure_BLUE,zeros(240,320),zeros(240,320)));

我收到以下错误:

  

使用cat时出错   连接的矩阵的尺寸不是   是一致的。

不太确定这里出了什么问题以及如何解决这个问题!!!!

1 个答案:

答案 0 :(得分:2)

与图像相比,您尝试连接的两个阵列看起来是错误的。图像显示为176x241,因此您应该尝试:

imagesc(cat(3,pure_BLUE,zeros(176,241),zeros(176,241)));

或更通用的方法是使用数组本身的大小:

imagesc(cat(3,pure_BLUE,zeros([size(pure_BLUE) 2])));