误差在elseif (c (i, j) > (i, j)) & & (c (i, j) > b (i, j))
位置2的索引超出数组边界(必须不超过1)?
2次浏览(过去30天)
显示旧的注释
我的代码是:
函数Hout = Hcomb(a, b, c)
%%%%%获取Image的大小
[r,c] = size(a);
为I = 1:r
为j = 1: c
如果(a(i,j) > b(i,j)) && (a(i,j) > c(i,j))
Hout(i,j) = a(i,j);
elseif(b(i,j) > a(i,j)) && (b(i,j) > c(i,j))
Hout(i,j) = b(i,j);
elseif(c(i,j) > a(i,j)) && (c(i,j) > b(i,j))
Hout(i,j) = c(i,j);
结束
结束
结束
返回;
接受的答案
西蒙•陈
2021年9月6日
其中一个输入参数是变量“c”,你再次使用相同的名称作为变量“a”的大小,因此会给你一个错误,尝试重命名它们如下:
函数Hout = Hcomb(a, b, c)
%%%%%获取Image的大小
[row,col] = size(a);
为I = 1:行
为j = 1:坳
如果(a(i,j) > b(i,j)) && (a(i,j) > c(i,j))
Hout(i,j) = a(i,j);
elseif(b(i,j) > a(i,j)) && (b(i,j) > c(i,j))
Hout(i,j) = b(i,j);
elseif(c(i,j) > a(i,j)) && (c(i,j) > b(i,j))
Hout(i,j) = c(i,j);
结束
结束
结束
返回;