به کمک دوستان نیازدارم کسی میتونه این کدوبرام توضیح بده.

hasti.taraj@yahoo.com
function p=fade2(BW,kk,p1,p,I)
[n1 n2]=size(BW);
    r=floor(n1/10);
    c=floor(n2/10);
    x1=1;x2=r;
    s=r*c;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%
    for i=1:10
        y1=1;y2=c;
        for j=1:10
            if (y2<=c | y2>=9*c) | (x1==1 | x2==r*10)
                loc=find(BW(x1:x2, y1:y2)==0);
                [o p]=size(loc);
                pr=o*100/s;
                if pr<=100
                    BW(x1:x2, y1:y2)=0;
                    r1=x1;r2=x2;s1=y1;s2=y2;
                    pr1=0;
                end
            end
                y1=y1+c;
                y2=y2+c;
        end
     x1=x1+r;
     x2=x2+r;
    end
    L = bwlabel(BW,8); 
    BB  = regionprops(L, 'BoundingBox');
    BB1=struct2cell(BB);
    BB2=cell2mat(BB1);
    [s1 s2]=size(BB2);
    mx=0;
    for k=3

s2-1
        p=BB2(1,k)*BB2(1,k+1);
        if p>mx & (BB2(1,k)/BB2(1,k+1))<1.8
            mx=p;
            j=k;
        end
    end
    figure,imshow(I);
    hold on;
    rectangle('Position',[BB2(1,j-2),BB2(1,j-1),BB2(1,j),BB2(1,j+1)],'EdgeColor','r' )
    face = BW(round(BB2(1,j-1)):round((BB2(1,j-1)+BB2(1,j+1))),round(BB2(1,j-2)):round((BB2(1,j-2)+BB2(1,j))));
    rate=16/max(size(face));
    face=imresize(face,rate);
    [i,j]=size(face);
    i1=round((16-i)/2);
    j1=round((16-j)/2);
    p1(i1+1:i1+i,j1+1:j1+j)=face;
    p1=-1.*p1+ones(16,16);
    for m=0:15
        p(m*16+1

m+1)*16,kk)=p1(1:16,m+1);
    end