我正在尝试从图像计算纯色蓝色并将其与原始蓝色通道进行比较。然后我必须解释使用纯色而不是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)));
我收到以下错误:
使用cat时出错 连接的矩阵的尺寸不是 是一致的。
不太确定这里出了什么问题以及如何解决这个问题!!!!
答案 0 :(得分:2)
与图像相比,您尝试连接的两个阵列看起来是错误的。图像显示为176x241,因此您应该尝试:
imagesc(cat(3,pure_BLUE,zeros(176,241),zeros(176,241)));
或更通用的方法是使用数组本身的大小:
imagesc(cat(3,pure_BLUE,zeros([size(pure_BLUE) 2])));