作业帮 > 综合 > 作业

matlab,这个是不是死循环啊?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 11:34:40
matlab,这个是不是死循环啊?
我在用sobel算子做边缘检测,写到差分计算梯度值时,matlab总在跳,是不是死循环了?
X=imread('C:\MATLAB6\toolbox\images\imdemos\cameraman.tif')
X=double(X)
S=size(X)
g=zeros(S)
figure(1)
image(X)
colormap(gray(256))
for i=2:S(1)-1
for j=2:S(2)-1
Dx=(X(i+1,j-1)-X(i-1,j-1)+2*(X(i+1,j)-X(i-1,j))+X(i+1,j+1)-X(i-1,j+1))^2
Dy=(X(i-1,j+1)-X(i-1,j-1)+2*(X(i,j+1)-X(i,j-1))+X(i+1,j+1)-X(i+1,j-1))^2
g(i,j)=round(sqrt(Dx+Dy))
end
end
麻烦大虾判断一下,到这一步等很长时间也没有算完
不是死循环啊,你把每句后面加上分号,不要输出,显示输出的话很慢很占资源,在最后看结果就行了
楼上正解~