图像轮廓跟踪算法
程序中第一个if语句,全速运行时进不去,但单步运行时可以进去,请问是哪里的问题啊,怎么解决呢
clc;close all;
I=imread('E:\cell_1.bmp');
imshow(I);
T=graythresh(I);
I1=imbinarize(I,T);
figure;
img=edge(I1,'sobel');
img=double(img);
imshow(img);
[M,N]=size(img);
ed=[0 -1;1 -1;1 0;1 1;0 1;-1 1;-1 0;-1 -1];
k=1;
i=2;
j=2;
while (i<=M-1)
while (j<=N-1)
if img(i,j)==1
k=k+1;
s_i=i;
s_j=j;%储存最初的坐标
img(i,j)=k;%将最初寻找到的像素点灰度值设为k
%在八邻域内寻找坐标值为1的点
x=1;
while x<=8
temi=i+ed(x,1);
temj=j+ed(x,2);%temi,temj用来临时储存坐标
if img(temi,temj)==1
i=temi;
j=temj;
img(i,j)=k;
x=1;
elseif (temi==s_i&&temj==s_j)
break;
else
x=x+1;
end
end
elseif (img(i,j)>1)
j=j+1;
while img(i,j)==0
j=j+1;
end
else
end
j=j+1;
end
i=i+1;
end
figure;
imshow(img,[]);
单步能进去的话不打断点直接运行也能进去的,除非你改了变量之类的