使用 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])));
我正在尝试计算图像的纯蓝色并将其与原始蓝色通道进行比较。那我就得解释一下用纯色代替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])));