while ((Y1(PY2,1)>=50)&&(PY2 IY=I(PY1:PY2,:,:); X1=zeros(1,x); for j=1:x for i=PY1:PY2 if(I6(i,j,1)==1) X1(1,j)= X1(1,j)+1; end end end subplot(3,2,2),plot(0:x-1,X1),title('Áз½ÏòÏñËØµã»Ò¶ÈÖµÀۼƺÍ'),xlabel('ÁÐÖµ'),ylabel('ÏñÊý'); %%%%%%%ÇóµÄ³µÅƵÄÁÐÆðʼλÖúÍÖÕֹλÖÃ%%%%%%%%% PX1=1; while ((X1(1,PX1)<3)&&(PX1 while ((X1(1,PX2)<3)&&(PX2>PX1)) PX2=PX2-1; end PX1=PX1-1; PX2=PX2+1; %·Ö¸î³ö³µÅÆÍ¼Ïñ% dw=I(PY1:PY2,PX1:PX2,:); subplot(3,2,3),imshow(dw),title('¶¨Î»¼ôÇкóµÄ²ÊÉ«³µÅÆÍ¼Ïñ') % 4.2 ³µÅÆ×Ö·û·Ö¸î % È·¶¨³µÅÆÎ»ÖúóÏÂÒ»²½µÄÈÎÎñ¾ÍÊǽøÐÐ×Ö·ûÇзַÖÀë³ö³µÅƺÅÂëµÄÈ«²¿×Ö·ûͼÏñ¡£ if isrgb(dw) I1 = rgb2gray(dw); %½«RGBͼÏñת»¯Îª»Ò¶ÈͼÏñ else I1=dw; end g_max=double(max(max(I1))); g_min=double(min(min(I1))); T=round(g_max-(g_max-g_min)/3); % T Ϊ¶þÖµ»¯µÄãÐÖµ [m,n]=size(I1);% d:¶þֵͼÏñ %h=graythresh(I1); I1=im2bw(I1,T/256); subplot(3,2,4); imshow(I1),title('¶þÖµ»¯³µÅÆÍ¼Ïñ'); I2=bwareaopen(I1,20); subplot(3,2,5); imshow(I2),title('ÐÎ̬ѧÂ˲¨ºóµÄ¶þÖµ»¯Í¼Ïñ'); [y1,x1,z1]=size(I2); I3=double(I2); TT=1; %%%%%%%È¥³ýͼÏñ¶¥¶ËºÍµ×¶ËµÄ²»¸ÐÐËÈ¤ÇøÓò%%%%% Y1=zeros(y1,1); for i=1:y1 for j=1:x1 if(I3(i,j,1)==1) Y1(i,1)= Y1(i,1)+1 ; end end end Py1=1; Py0=1; while ((Y1(Py0,1)<20)&&(Py0 while((Y1(Py1,1)>=20)&&(Py1 I2=I2(Py0:Py1,:,:); subplot(3,2,6); imshow(I2),title('Ä¿±ê³µÅÆÇøÓò'); %%%%%% ·Ö¸î×Ö·û°´ÐлýÀÛÁ¿%%%%%%% X1=zeros(1,x1); for j=1:x1 for i=1:y1 if(I3(i,j,1)==1) X1(1,j)= X1(1,j)+1; end end end figure(5); plot(0:x1-1,X1),title('Áз½ÏòÏñËØµã»Ò¶ÈÖµÀۼƺÍ'),xlabel('ÁÐÖµ'),ylabel('ÀÛ¼ÆÏñËØÁ¿'); Px0=1; Px1=1; %%%%%%%%%%%%·Ö¸î×Ö·û%%%%%%%%%%%%%%%%%% for i=1:7 while ((X1(1,Px0)<3)&&(Px0 while (((X1(1,Px1)>=3)&&(Px1 Z=I2(:,Px0:Px1,:); switch strcat('Z',num2str(i)) case 'Z1' PIN0=Z; case 'Z2' PIN1=Z; case 'Z3' PIN2=Z; case 'Z4' PIN3=Z; case 'Z5' PIN4=Z; case 'Z6' PIN5=Z; otherwise PIN6=Z; end figure(3); subplot(1,7,i); imshow(Z); Px0=Px1; End 4.3 ³µÅÆ×Ö·ûʶ±ð ×Ö·ûʶ±ð·½·¨Ö÷ÒªÓлùÓÚÄ£°åÆ¥ÅäËã·¨ºÍ»ùÓÚÈ˹¤Éñ¾ÍøÂçËã·¨¡£»ùÓÚÄ£°åÆ¥ÅäËã·¨ÊÇÊ×ÏȽ«·Ö¸îºóµÄ×Ö·û¶þÖµ»¯,²¢½«Æä³ß´çËõ·ÅΪ×Ö·ûÊý¾Ý¿âÖÐÄ£°åµÄ´óС£¬È»ºóÓëËùÓÐÄ£°å½øÐÐÆ¥Å䣬×îºóѡȡ×î¼ÑÆ¥Åä×÷Ϊ½á¹û¡£½¨Á¢Êý×Ö¿â¶Ô¸Ã·½·¨ÔÚ³µÅÆÊ¶±ð¹ý³ÌÖкÜÖØÒª, Êý×Ö¿â׼ȷ²ÅÄܱ£Ö¤¼ì²â³öµÄÊý¾ÝÕýÈ·¡£»ùÓÚÈ˹¤Éñ¾ÔªÍøÂçµÄËã·¨ÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÏȶÔÌØÕ÷ÌáÈ¡´ýʶ±ð×Ö·û£¬È»ºóÓÃËù»ñµÃµÄÌØÕ÷ѵÁ·Éñ¾ÍøÂç·ÖÅäÆ÷£»ÁíÒ»ÖÖÊÇÖ±½Ó½«´ý´¦ÀíͼÏñÊäÈëÍøÂçÓÉÍøÂç×Ô¶¯ÊµÏÖÌØÕ÷ÌáȡֱÖÁʶ±ð½á¹û¡£ÔÚ±¾³ÌÐòÖÐÓûùÓÚÈ˹¤Éñ¾ÔªÍøÂçʶ±ð³µÅÆ×Ö·û¡£ÔÚ³µÅÆ×Ö·ûʶ±ð²¿·Ö, ×Ö·û¼¯Öаüº¬Ô¼50¸öºº×Ö, 26¸ö´óдӢÎÄ×Öĸ¼°10¸ö°¢À²®Êý×Ö¡£×ܵÄ×Ö·ûÑù±¾²¢²»Ì«¶à¡£ 4.3.1 ¹¹ÔìѵÁ·Ñù±¾ÈçÏÂͼËùʾµÄÊý×ÖºÍ×Öĸ£¬ ½«Ñù±¾½øÐйéÒ»»¯Îª50X20´óС£¬ÔÙ½«Í¼Ïñ°´ÁÐת»»³ÉÒ»¸ö1000X1µÄÐÐÏòÁ¿£¬½«ÉÏÊö18¸öͼÏñµÄÑù±¾ÅÅÁÐÔÚÒ»Æð¹¹³É1000X18µÄ¾ØÕóÑù±¾£¬¾¡¿ÉÄܶàµÄ²É¼¯Æû³µÍ¼ÏñÌáÈ¡³µÅÆ£¬²¿·ÖÇзֳö³µÅÆ×Ö·û£¬¹¹Ôì³ö¸ü¶à1000X18µÄ¾ØÐÎÑù±¾£¬Óù¹ÔìºÃµÄÑù±¾¿â¶ÔÉñ¾ÍøÂç½øÐÐѵÁ·¡£ function inpt = pretreatment(I) %YUCHULI Summary of this function goes here % Detailed explanation goes here if isrgb(I) I1 = rgb2gray(I); else