tpx840520 发表于 2006-4-9 10:43

[求助]总在运行中出现相同的错误,请教下,谢谢

在程序运行中总出现这样的提示A function declaration cannot appear within a script M-file.
源代码如下:
a=imread('go.tif');
z=rgb2gray(a);
gradephase(z)
function gradephase(x)
=size(x);
bw=edge(x,'sobel');
gy=x(1:m-1,1:n-1)-x(2:m,1:n-1);
gx=x(1:m-1,1:n-1)-x(1:m-1,2:n);
g=gy./(gx+eps);
ph=atan(g)+(sign(gx)<0&sign(gy)>0)*pi+(sign(gx)<0&sign(gy)<0)*pi+(sign(gx)>0&sign(gy)<0)*2*pi+(sign(gx)==0)*pi;
grdgp=floor(ph/pi*4)+1;
cn=0;s=[];
In_spt=cell(1,1);
pline=[];
for i=2:m-1
for j=2:n-1
if bw(i,j)~=0&grdgp(i,j)~=0
ph_cp=grdgp(i,j);grdgp(i,j);bw(i,j);
cn=cn+1;p=';
while ~isempty(s)
=size(s);
ps=s(:,rs);s=s(:,1:rs-1);
col=ps(1,1);row=ps(2,1);
if legal(cil+1,row,m,n)&grdgp(col+1,row)==ph_cp
s='];In_spt{cn}='];
bw(col+1,row)=0;grdgp(col+1,row)=0;
end
if legal(col+1,row+1,m,n)&grdgp(col+1,row+1)==ph_cp
s='];In_spt{cn}='];
bw(col+1,row+1)=0;grdgp(col+1,row+1)=0;
end
if legal(col,row+1,m,n)&grdgp(col,row+1)==ph_cp
s='];In_spt{cn}='];
bw(col,row+1)=0;grdgp(col,row+1)=0;
end
if legal(col-1,row+1,m,n)&grdgp(col-1,row+1)==ph_cp
s='];In_spt{cn}='];
bw(col-1,row+1)=0;grdgp(col-1,row+1)=0;
end
if legal(col-1,row,m,n)&grdgp(col-1,row)==ph_cp
s='];In_spt{cn}='];
bw(col-1,row)=0;grdgp(col-1,row)=0;
end
if legal(col-1,row-1,m,n)&grdgp(col-1,row-1)==ph_cp
s='];In_spt{cn}='];
bw(col-1,row-1)=0;grdgp(col-1,row-1)=0;
end
if legal(col,row-1,m,n)&grdgp(col,row-1)==ph_cp
s='];In_spt{cn}='];
bw(col,row-1)=0;grdgp(col,row-1)=0;
end
if legal(col+1,row-1,m,n)&grdgp(col+1,row-1)==ph_cp
s='];In_spt{cn}='];
bw(col+1,row-1)=0;grdgp(col+1,row-1)=0;
end
end
if length(In_spt{cn})<=10
In_spt{cn}=[];
cn=cn-1;
else
plne=draw_l(In_spt{cn});
pline=;
c(i)=lengh(In_spt{cn});
end
end
end
end

cdwxg 发表于 2006-4-9 11:51

http://forum.vibunion.com/thread-9974-1-1.html

happy 不是已经给你改了么?
还有错误么?
页: [1]
查看完整版本: [求助]总在运行中出现相同的错误,请教下,谢谢