www.pudn.com > BubianjuWork.rar > hand12.m
i=imread('dd.bmp');
I=rgb2gray(i);
I=imnoise(I,'salt & pepper',0.0005);
for i=1:256
for j=1:10
I(i,j)=I(1,1);
end
end
B=double(I);
D=I;
%figure;imshow(D);
F=double(D);
E=D;
i=40;
for j=5:220
E(i,j)=255;
end
i=190;
for j=5:220
E(i,j)=255;
end
j=5;
for i=40:190
E(i,j)=255;
end
j=220;
for i=40:190
E(i,j)=255;
end
figure;imshow(E);
S(1,1)=40;S(1,2)=5;
for i=2:23
S(i,1)=40;
S(i,2)=10+10*(i-2);
end
for i=24:38
S(i,1)=50+10*(i-24);
S(i,2)=220;
end
for i=39:59
S(i,1)=190;
S(i,2)=220-10*(i-38);
end
S(60,1)=190;S(60,2)=5;
for i=61:75
S(i,1)=190-10*(i-60);
S(i,2)=5;
end
S(76,1)=S(1,1);S(76,2)=S(1,2);
S(77,1)=S(2,1);S(77,2)=S(2,2);
for iii=1:200
aver=0;
for i1=1:74
d=sqrt((S(i1+1,1)-S(i1,1))^2+(S(i1+1,2)-S(i1,2))^2);
aver=aver+d;
end
aver=aver+sqrt((S(75,1)-S(1,1))^2+(S(75,2)-S(1,2))^2);
aver=aver/75;
jj=0.0;
kk=0.0;
for i2=1:75
jj=jj+S(i2,1);
kk=kk+S(i2,2);
end
jj=jj/75;
kk=kk/75;
for i=5:55
cout1=abs(aver-sqrt((S(i,1)-1-S(i-1,1))^2+(S(i,2)-1-S(i-1,2))^2));
curv1=((S(i,1)-1)*2-S(i-1,1)-S(i+1,1))^2+((S(i,2)-1)*2-S(i-1,2)-S(i+1,2))^2;
%Çóimg
j=S(i,1);
k=S(i,2);
min3=D(j-1,k-1);
max3=D(j-1,k-1);
if(D(j-1,k)max3)
max3=D(j-1,k);
end
if(D(j-1,k+1)max3)
max3=D(j-1,k+1);
end
if(D(j,k+1)max3)
max3=D(j,k+1);
end
if(D(j+1,k+1)max3)
max3=D(j+1,k+1);
end
if(D(j+1,k)max3)
max3=D(j+1,k);
end
if(D(j+1,k-1)max3)
max3=D(j+1,k-1);
end
if(D(j+1,k)max3)
max3=D(j+1,k);
end
max3=double(max3);
min3=double(min3);
dd=max3-min3;
if(dd==0)
dd=1;
end
img1=(F(j-1,k-1)-min3)/dd;
cons1=sqrt((S(i,1)-1-jj)^2+(S(i,2)-1-kk)^2);
max1=cout1;
max2=curv1;
max4=cons1;
cout2=abs(aver-sqrt((S(i,1)-1-S(i-1,1))^2+(S(i,2)-S(i-1,2))^2));
curv2=((S(i,1)-1)*2-S(i-1,1)-S(i+1,1))^2+((S(i,2))*2-S(i-1,2)-S(i+1,2))^2;
img2=(F(j-1,k)-min3)/dd;
cons2=sqrt((S(i,1)-1-jj)^2+(S(i,2)-kk)^2);
if(cout2>max1)
max1=cout2;
end
if(curv2>max2)
max2=curv2;
end
if(cons2>max4)
max4=cons2;
end
cout3=abs(aver-sqrt((S(i,1)-1-S(i-1,1))^2+(S(i,2)+1-S(i-1,2))^2));
curv3=((S(i,1)-1)*2-S(i-1,1)-S(i+1,1))^2+((S(i,2)+1)*2-S(i-1,2)-S(i+1,2))^2;
img3=(F(j-1,k+1)-min3)/dd;
cons3=sqrt((S(i,1)-1-jj)^2+(S(i,2)+1-kk)^2);
if(cout3>max1)
max1=cout3;
end
if(curv3>max2)
max2=curv3;
end
if(cons3>max4)
max4=cons3;
end
cout4=abs(aver-sqrt((S(i,1)-S(i-1,1))^2+(S(i,2)+1-S(i-1,2))^2));
curv4=((S(i,1))*2-S(i-1,1)-S(i+1,1))^2+((S(i,2)+1)*2-S(i-1,2)-S(i+1,2))^2;
img4=(F(j,k+1)-min3)/dd;
cons4=sqrt((S(i,1)-jj)^2+(S(i,2)+1-kk)^2);
if(cout4>max1)
max1=cout4;
end
if(curv4>max2)
max2=curv4;
end
if(cons4>max4)
max4=cons4;
end
cout5=abs(aver-sqrt((S(i,1)+1-S(i-1,1))^2+(S(i,2)+1-S(i-1,2))^2));
curv5=((S(i,1)+1)*2-S(i-1,1)-S(i+1,1))^2+((S(i,2)+1)*2-S(i-1,2)-S(i+1,2))^2;
img5=(F(j+1,k+1)-min3)/dd;
cons5=sqrt((S(i,1)+1-jj)^2+(S(i,2)+1-kk)^2);
if(cout5>max1)
max1=cout5;
end
if(curv5>max2)
max2=curv5;
end
if(cons5>max4)
max4=cons5;
end
cout6=abs(aver-sqrt((S(i,1)+1-S(i-1,1))^2+(S(i,2)-S(i-1,2))^2));
curv6=((S(i,1)+1)*2-S(i-1,1)-S(i+1,1))^2+((S(i,2))*2-S(i-1,2)-S(i+1,2))^2;
img6=(F(j+1,k)-min3)/dd;
cons6=sqrt((S(i,1)+1-jj)^2+(S(i,2)-kk)^2);
if(cout6>max1)
max1=cout6;
end
if(curv6>max2)
max2=curv6;
end
if(cons6>max4)
max4=cons6;
end
cout7=abs(aver-sqrt((S(i,1)+1-S(i-1,1))^2+(S(i,2)-1-S(i-1,2))^2));
curv7=((S(i,1)+1)*2-S(i-1,1)-S(i+1,1))^2+((S(i,2)-1)*2-S(i-1,2)-S(i+1,2))^2;
img7=(F(j+1,k-1)-min3)/dd;
cons7=sqrt((S(i,1)+1-jj)^2+(S(i,2)-1-kk)^2);
if(cout7>max1)
max1=cout7;
end
if(curv7>max2)
max2=curv7;
end
if(cons7>max4)
max4=cons7;
end
cout8=abs(aver-sqrt((S(i,1)-S(i-1,1))^2+(S(i,2)-1-S(i-1,2))^2));
curv8=((S(i,1))*2-S(i-1,1)-S(i+1,1))^2+((S(i,2)-1)*2-S(i-1,2)-S(i+1,2))^2;
img8=(F(j,k-1)-min3)/dd;
cons8=sqrt((S(i,1)-jj)^2+(S(i,2)-1-kk)^2);
if(cout8>max1)
max1=cout8;
end
if(curv8>max2)
max2=curv8;
end
if(cons8>max4)
max4=cons8;
end
l1=0.15;
l2=0.05;
l3=60.0;
l4=0.2;
E1=cout1*l1/max1+curv1*l2/max2+img1*l3/max3+cons1*l4/max4;
Emin=E1;
E2=cout2*l1/max1+curv2*l2/max2+img2*l3/max3+cons2*l4/max4;
if(E2