function chazhi2=chazhi2(zo)
%zo= load('C:\Users\IORI\Desktop\matlab.mat');
%zo=[1 2 3 1
% 2 3 4 2
% 4 5 6 2];
%%%input
%zo=zo.vv1;
t00=2;%%%%%%%%%%%input
[mo,no]=size(zo);
t=min(no,mo);
if t00>=t;
t00=t-1;
end;
t0=min(min(zo));
t1=300/(no-1);
t2=150/(mo-1);
xo=0:t1:300;
yo=0:t2:150;
mk=t00;
smk=mk;
nk=t00;
snk=nk;
for i=1:mo;
for j=1:no;
k=(i-1)*no+j;
xs(k,1)=1;
xs(k,2)=xo(j);
xs(k,3)=yo(i);
zs(k)=zo(i,j);
end;
end;
bs=inv(xs'*xs)*(xs'*zs');
for i=1:mo;
for j=1:no;
zq(i,j)=bs(1)+bs(2)*xo(j)+bs(3)*yo(i);
end;
end;
zzz=(zo-zq)/max(max(abs(zo-zq)));
for i=1:mo;
for j=1:no;
if abs(zzz(i,j))>0.0001,%%%%%%%%%%%%
zzz(i,j)=(1.1-abs(zzz(i,j)))*sign(zzz(i,j));
end;
end;
end;
dno=zzz(2:mo,2:no);
nn=(nk)*(no-1)+1;
mm=(mk)*(mo-1)+1;
zz=zeros(mm,nn);
zzt=zeros(mm,nn);
my=1;
mmo=mo;
while my<mmo
mb=my;
me=mb+mk;
if me>mmo;
me=mmo;
mb=me-mk;
mmo=0;
end;
nx=1;
nno=no;
while nx<nno
nb=nx;
ne=nb+nk;
if ne>=nno;
ne=nno;
nb=ne-nk;
nno=0;
end;
x=xo(nb:ne);
y=yo(mb:me);
z=zo(mb:me,nb:ne);
dn=dno(mb:me-1,nb:ne-1);
[m,n]=size(z);
xl=x(n)-x(1);yl=y(m)-y(1);
a=(x(2:n)-x(1:n-1))/xl;
b=(x(n)*x(1:n-1)-x(1)*x(2:n))/xl;
c=(y(2:m)-y(1:m-1))/yl;
d=(y(m)*y(1:m-1)-y(1)*y(2:m))/yl;
cz=z(1,1)+z(m,n)-z(1,n)-z(m,1);
cm=x(1)*y(1)+x(n)*y(m)-x(n)*y(1)-x(1)*y(m);
bz1=z(1,1)-z(1,n); bz2=x(1)*y(1)-x(n)*y(1);
bm=x(1)-x(n);
dz1=z(1,1)-z(m,1); dz2=x(1)*y(1)-x(1)*y(m);
dm=y(1)-y(m);
%dn=ones(m-1,n-1);
%dn=dn*af;
cc=(z(1:m-1,1:n-1)-z(1:m-1,2:n)-z(2:m,1:n-1)+z(2:m,2:n)-dn*cz)/cm;
bb=(z(1:m-1,1:n-1)-z(1:m-1,2:n)-dn*bz1-cc*bz2)/bm;
dd=(z(1:m-1,1:n-1)-z(2:m,1:n-1)-dn*dz1-cc*dz2)/dm;
kk=z(2:m,2:n)-bb*x(n)-dd*y(m)-dn*z(m,n)-cc*x(n)*y(m);
for j=1:m-1
for j0=1:m
yv=c(j)*y(j0)+d(j);
jj=(mb-1)*mk+(j-1)*(n-1)+j0;
for i=1:n-1
for i0=1:n;
ii=(nb-1)*nk+(i-1)*(n-1)+i0;
xv=a(i)*x(i0)+b(i);
zt=bb(j,i)*x(i0)+dd(j,i)*y(j0);
tt0=zt+cc(j,i)*x(i0)*y(j0)+dn(j,i)*z(j0,i0)+kk(j,i);
zz(jj,ii)=zz(jj,ii)+tt0;
zzt(jj,ii)=zzt(jj,ii)+1;
end
end
end
end
nx=nb+snk;
end;
my=mb+smk;
end;
zz=zz./zzt;
tttt=255*(zz-min(min(zz)))/(max(max(zz))-min(min(zz)));
tttt=uint8(tttt);
imshow(tttt);
chazhi2=zz;
return;
end
评论2