通信人家园
标题:
Matlab报错”Index exceeds matrix dimensions“,为什么会这样?
[查看完整版帖子]
[打印本页]
时间:
2010-4-25 22:51
作者:
Telemark
标题:
Matlab报错”Index exceeds matrix dimensions“,为什么会这样?
已定位出错误出现在如下程序段:
[height,width] =size(IM3); % height求出是612,width为816
for i =2:width-1
for j =2:height-1
ary =IM3(i-1,j)+IM3(i+1,j)+IM3(i,j-1)+IM3(i,j+1); % IM3为二值图像
if((IM3(i,j) ==0) &(ary>=2))
IM3(i,j) =1;
continue;
end
if(IM3(i,j) ==1 &ary ==0)
IM3(i,j) =0;
end
end
end
figure
imshow(IM3);title('候选区矩形化');
该程序要实现的功能是将连通区域矩形化,但运行到这里就出现报警:Index exceeds matrix dimensions.
为什么会这样?求助!!!!!
时间:
2010-4-25 22:57
作者:
Telemark
该算法是:
如果IM3(i, j)为黑点,而且其4-邻域中有至少任意两个像素为白点,则令其为白点;
如果IM3(i, j)为白点,而且其4-邻域中所有的像素为黑点,则令其为黑点。
程序运行报错,是不是我哪里错了?
时间:
2010-4-28 20:30
作者:
微光贝贝
你单步调试,看那个矩阵边界越界了~
时间:
2010-4-28 21:20
作者:
微光贝贝
谢谢评分,LZ不介意可以把程序发给我~
通信人家园 (https://www.txrjy.com/)
Powered by C114