tpx840520 发表于 2006-4-17 19:53

请教错误提示的含义

在运行函数时出现了如下的提示<BR>??? Index exceeds matrix dimensions.<BR>函数代码如下:<BR>function idxLocalMax=cannyFindLocalMaxima(direction,ix,iy,mag);<BR>=size(mag);<BR>switch direction<BR>    case 1<BR>      idx=find((iy&lt;=0&amp;ix&gt;-iy)|(iy&gt;=0&amp;ix&lt;-iy));<BR>    case 2<BR>      idx=find((ix&gt;0&amp;-iy&gt;=ix)|(ix&lt;0&amp;-iy&lt;=ix));<BR>    case 3<BR>      idx=find((ix&lt;=0&amp;ix&gt;iy)|(ix&gt;=0&amp;ix&lt;iy));<BR>    case 4<BR>      idx=find((iy&lt;0&amp;ix&lt;=iy)|(iy&gt;0&amp;ix&gt;=iy));<BR>end<BR>ixv=ix(idx);<BR>iyv=iy(idx);<BR>gradmag=mag(idx);<BR>switch direction<BR>    case 1<BR>      d=abs(iyv./ixv);<BR>      gradmag1=mag(idx+m).*(1-d)+mag(idx+m-1).*d;<BR>      gradmag2=mag(idx-m).*(1-d)+mag(idx-m+1).*d;<BR>    case 2<BR>      d=abs(ixv./iyv);<BR>      gradmag1=mag(idx-1).*(1-d)+mag(idx+m-1).*d;<BR>      gradmag2=mag(idx+1).*(1-d)+mag(idx-m+1).*d;<BR>    case 3<BR>      d=abs(ixv./iyv);<BR>      gradmag1=mag(idx-1).*(1-d)+mag(idx-m-1).*d;<BR>      gradmag2=mag(idx+1).*(1-d)+mag(idx+m+1).*d;<BR>    case 4<BR>      d=abs(iyv./ixv);<BR>      gradmag1=mag(idx-m).*(1-d)+mag(idx-m-1).*d;<BR>      gradmag2=mag(idx+m).*(1-d)+mag(idx+m+1).*d;<BR>end<BR>idxLocalMax=idx(gradmag&gt;=gradmag1&amp;gradmag&gt;=gradmag2);<BR>请问该如何解决

happy 发表于 2006-4-18 08:44

回复:(tpx840520)请教错误提示的含义

矩阵维数不相容
页: [1]
查看完整版本: 请教错误提示的含义