可以将两个相同大小的矩阵一起添加

时间:2014-04-27 01:08:27

标签: matlab math image-processing matrix add

我正在尝试将两个矩阵一起添加。它们都是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矩阵加在一起。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您无法添加它们,因为greys为400x400,而fc为400x400x3。

尝试在命令行中输入size(greys)size(fc),或whos greys fc进行查看。

如果你想通过平均它们来“组合”它们,你可以使用bsxfun

combined = bsxfun(@plus, greys, fc) ./ 2;