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

matlab error using CAT, Dimensions of matrices being concatenated are not consistent

我正在尝试计算图像的纯蓝色并将其与原始蓝色通道进行比较。那我就得解释一下用纯色代替RGB通道的好处了

这是我的代码:

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

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

但是当我使用这个时:

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

我收到以下错误:

Error using cat Dimensions of matrices being concatenated are not consistent.

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

与图像相比,您尝试连接的两个数组的大小似乎有误。该图像似乎是 176x241,因此您应该尝试:

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

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

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