2014-04-27 69 views
0

我想將兩個基質加在一起。他們都是400x400。這裏的代碼,竟然放棄了我的麻煩位:不能將兩個相同大小的基質加在一起

greys = (r+g+b)./3; 
    fc = cat(3, r, g, b); 
    combined = (greys+fc)./2; <---error occurs here 

但是,當我的代碼獲取到的灰色+ FC部分,它拋出一個錯誤。此錯誤:

Error using +

Matrix dimensions must agree.

Error in imgSimpleFilter (line 36)

combined = (greys+fc)./2; 

當我打印在灰色和FC matricies行和列的數量,我得到400的所有值(這正是我所料,因爲我有一個400×400的工作圖片)。

爲什麼不讓我把它們加在一起?

我與線

greys = (r+g+b)./3; 

沒有問題,而這增加3 400×400的矩陣合在一起。有任何想法嗎?

+0

你的「FC」矩陣是400x400x3矩陣,「灰色」是400×400。 – oligilo

回答

3

您不能添加它們,因爲greys是400x400,而fc是400x400x3。

嘗試在命令行上輸入size(greys)size(fc),或在whos greys fc上看到它。

如果你想通過平均它們「結合」起來,你可以使用bsxfun

combined = bsxfun(@plus, greys, fc) ./ 2; 
相關問題