matlab,这个是不是死循环啊?我在用sobel算子做边缘检测,写到差分计算梯度值时,matlab总在跳,是不是死循环了?X=imread('C:\MATLAB6\toolbox\images\imdemos\cameraman.tif')X=double(X)S=size(X) g=zeros(S)figure(1)imag

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 20:18:19
matlab,这个是不是死循环啊?我在用sobel算子做边缘检测,写到差分计算梯度值时,matlab总在跳,是不是死循环了?X=imread('C:\MATLAB6\toolbox\images\imdemos\cameraman.tif')X=double(X)S=size(X)        g=zeros(S)figure(1)imag

matlab,这个是不是死循环啊?我在用sobel算子做边缘检测,写到差分计算梯度值时,matlab总在跳,是不是死循环了?X=imread('C:\MATLAB6\toolbox\images\imdemos\cameraman.tif')X=double(X)S=size(X) g=zeros(S)figure(1)imag
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
麻烦大虾判断一下,到这一步等很长时间也没有算完

matlab,这个是不是死循环啊?我在用sobel算子做边缘检测,写到差分计算梯度值时,matlab总在跳,是不是死循环了?X=imread('C:\MATLAB6\toolbox\images\imdemos\cameraman.tif')X=double(X)S=size(X) g=zeros(S)figure(1)imag
不是死循环啊,你把每句后面加上分号,不要输出,显示输出的话很慢很占资源,在最后看结果就行了
楼上正解~