我正在尝试将两个矩阵一起添加。它们都是400x400。这是给我带来麻烦的一些代码:
greys = (r+g+b)./3;
fc = cat(3, r, g, b);
combined = (greys+fc)./2; <---error occurs here
但是当我的代码进入灰色+ fc部分时,它会抛出错误。这个错误:
使用+
时出错矩阵尺寸必须达成一致。
imgSimpleFilter出错(第36行)
combined = (greys+fc)./2;
当我在gray和fc matricies中打印行数和列数时,我得到所有值的400(这与我预期的完全一样,因为我使用的是400x400图像)。
为什么不让我一起添加这些?
我对该行没有任何问题
greys = (r+g+b)./3;
那就是将三个400x400矩阵加在一起。有什么想法吗?
答案 0 :(得分:3)
您无法添加它们,因为greys
为400x400,而fc
为400x400x3。
尝试在命令行中输入size(greys)
和size(fc)
,或whos greys fc
进行查看。
如果你想通过平均它们来“组合”它们,你可以使用bsxfun:
combined = bsxfun(@plus, greys, fc) ./ 2;