【正文】
(In)。figure,imshow(I)。%%%%%%%%%%%%%%%%%%%特征提取xxx=0。Im=I。tezheng=zeros(m,n,3)。for i=2:m1 for j=2:n1 if Im(i,j)==1 a = 0。 if Im(i1,j) ~= Im(i1,j+1) a = a + 1。 end if Im(i1,j+1) ~= Im(i,j+1) a = a + 1。 end if Im(i,j+1) ~= Im(i+1,j+1) a = a + 1。 end if Im(i+1,j+1) ~= Im(i+1,j) a = a + 1。 end if Im(i+1,j) ~= Im(i+1,j1) a = a + 1。 end if Im(i+1,j1) ~= Im(i,j1) a = a + 1。 end if Im(i,j1) ~= Im(i1,j1) a = a + 1。 end if Im(i1,j1) ~= Im(i1,j) a = a + 1。 end if a==6 %%%分叉點(diǎn)判斷 tezheng(i,j,1)=i。 tezheng(i,j,2)=j。 tezheng(i,j,3)=1。 xxx=xxx+1。 I(i,j)=0。 I(i1,j)=1。I(i1,j+1)=1。I(i,j+1)=1。I(i+1,j+1)=1。I(i+1,j)=1。I(i+1,j1)=1。I(i,j1)=1。I(i1,j1)=1。 %%%%%%%%%%%%%%1表示分叉點(diǎn) 0表示端點(diǎn) end if a==2 %%%% 端點(diǎn)判斷 tezheng(i,j,1)=i。 tezheng(i,j,2)=j。 tezheng(i,j,3)=2。 xxx=xxx+1。 I(i,j)=0。 I(i1,j)=1。I(i1,j+1)=1。I(i,j+1)=1。I(i+1,j+1)=1。I(i+1,j)=1。I(i+1,j1)=1。I(i,j1)=1。I(i1,j1)=1。 end end endendfigure,imshow(I)%%%%%%%%%%%%%%%%%%%%特征提取后處理~Izz=I。for i=1:m %%%%%%%%%%%%%%%%%%%%%%%%去除邊界點(diǎn) for j=1:n if tezheng(i,j,3)~=0 if i170||i+17m|| j170||j+17n tezheng(i,j,3)=0。 xxx=xxx1。 %%%消除端點(diǎn) Izz(i1,j)=0。Izz(i1,j+1)=0。Izz(i,j+1)=0。Izz(i+1,j+1)=0。Izz(i+1,j)=0。Izz(i+1,j1)=0。Izz(i,j1)=0。Izz(i1,j1)=0。 else a=0。b=0。c=0。d=0。 a=I(i+1,j)+I(i+2,j)+I(i+3,j)+I(i+4,j)+I(i+5,j)+I(i+6,j)+I(i+7,j)+I(i+8,j)+I(i+9,j)+I(i+10,j)+I(i+11,j)+I(i+12,j)。 b=I(i1,j)+I(i2,j)+I(i+3,j)+I(i4,j)+I(i5,j)+I(i6,j)+I(i7,j)+I(i8,j)+I(i9,j)+I(i10,j)+I(i11,j)+I(i12,j)。 c=I(i,j+1)+I(i,j+2)+I(i,j+3)+I(i,j+4)+I(i,j+5)+I(i,j+6)+I(i,j+7)+I(i,j+8)+I(i,j+9)+I(i,j+10)+I(i,j+11)+I(i,j+12)。 d=I(i,j1)+I(i,j2)+I(i,j3)+I(i,j4)+I(i,j5)+I(i,j6)+I(i,j7)+I(i,j8)+I(i,j9)+I(i,j10)+I(i,j11)+I(i,j12)。 if ( a=1 amp。amp。 b=1 amp。amp。 c=1 amp。amp。 d=1) tezheng(i,j,3)=0。 %%%消除端點(diǎn) xxx=xxx1。 Izz(i1,j)=0。Izz(i1,j+1)=0。Izz(i,j+1)=0。Izz(i+1,j+1)=0。Izz(i+1,j)=0。Izz(i+1,j1)=0。Izz(i,j1)=0。Izz(i1,j1)=0。 end end end endend%%%%%%%%%%%%%%%%%%%%%%%%%%消除斷點(diǎn)for i=17:m17 for j=17:n17 if tezheng(i,j,3)==2 for x=i12:i+12 for y=j12:j1 if tezheng(x,y,3)==2 tezheng(i,j,3)=0。 tezheng(x,y,3)=0。 xxx=xxx2。 Izz(i1,j)=0。Izz(i1,j+1)=0。Izz(i,j+1)=0。Izz(i+1,j+1)=0。Izz(i+1,j)=0。Izz(i+1,j1)=0。Izz(i,j1)=0。Izz(i1,j1)=0。 Izz(x1,y)=0。Izz(x1,y+1)=0。Izz(x,y+1)=0。Izz(x+1,y+1)=0。Izz(x+1,y)=0。Izz(x+1,y1)=0。Izz(x,j1)=0。Izz(x1,y1)=0。 end end for x=i12:i+12 for y=j+1:j+12 if tezheng(x,y,3)==2 tezheng(i,j,3)=0。 tezheng(x,y,3)=0。 xxx=xxx2。 Izz(i1,j)=0。Izz(i1,j+1)=0。Izz(i,j+1)=0。Izz(i+1,j+1)=0。Izz(i+1,j)=0。Izz(i+1,j1)=0。Izz(i,j1)=0。Izz(i1,j1)=0。 Izz(x1,y)=0。Izz(x1,y+1)=0。Izz(x,y+1)=0。Izz(x+1,y+1)=0。Izz(x+1,y)=0。Izz(x+1,y1)=0。Izz(x,j1)=0。Izz(x1,y1)=0。 end end end end end endend%figure,imshow(I)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%消除毛刺for i=10:m10 for j=10:n10 if tezheng(i,j,3)==2 for x=i5:i+5 for y=j5:j+5 if tezheng(x,y,3)==1 tezheng(i,j,3)=0。 tezheng(x,y,3)=0。 xxx=xxx2。 Izz(i1,j)=0。Izz(i1,j+1)=0。Izz(i,j+1)=0。Izz(i+1,j+1)=0。Izz(i+1,j)=0。Izz(i+1,j1)=0。Izz(i,j1)=0。Izz(i1,j1)=0。 Izz(x1,y)=0。Izz(x1,y+1)=0。Izz(x,y+1)=0。Izz(x+1,y+1)=0。Izz(x+1,y)=0。Izz(x+1,y1)=0。Izz(x,j1)=0。Izz(x1,y1)=0。 end end end end endend%figure,imshow(I)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%消除小橋for i=10:m10 for j=10:n10 if tezheng(i,j,3)==1 for x=i6:i+6 for y=j6:j1 if tezheng(x,y,3)==1 tezheng(i,j,3)=0。 tezheng(x,y,3)=0。 xxx=xxx2。 Izz(i1,j)=0。Izz(i1,j+1)=0。Izz(i,j+1)=0。Izz(i+1,j+1)=0。Izz(i+1,j)=0。Izz(i+1,j1)=0。Izz(i,j1)=0。Izz(i1,j1)=0。 Izz(x1,y)=0。Izz(x1,y+1)=0。Izz(x,y+1)=0。Izz(x+1,y+1)=0。Izz(x+1,y)=0。Izz(x+1,y1)=0。Izz(x,j1)=0。Izz(x1,y1)=0。 end end end for x=i6:i+6 for y=j+1:j+6 if tezheng(x,y,3)==1 tezheng(i,j,3)=0。 tezheng(x,y,3)=0。 xxx=xxx2。 Izz(i1,j)=0。Izz(i1,j+1)=0。Izz(i,j+1)=0。Izz(i+1,j+1)=0。Izz(i+1,j)=0。Izz(i+1,j1)=0。Izz(i,j1)=0。Izz(i1,j1)=0。 Izz(x1,y)=0。Izz(x1,y+1)=0。Izz(x,y+1)=0。Izz(x+1,y+1)=0。Izz(x+1,y)=0。Izz(x+1,y1)=0。Izz(x,j1)=0。Izz(x1,y1)=0。 end end