www.gusucode.com > GUI界面设计范例和ppt资料电信课程设计 > GUI界面设计范例和ppt资料电信课程设计/GUI界面设计范例/电信课程设计/4.function_calling/equalizations.m

    
function I_eq=equalizations(im,model,histFlag)

%model=0, gray; model=1, rgb ; model=2, hsi
%histFlag=1, show histogram; histFlag=0, not show
 
dimm=length(size(im));
if dimm==2
    I_eq=equ(im);
    if histFlag==1
        figure;
        subplot(1,2,1)
        hist(im(:),0:255);
        title('Original image');
        subplot(1,2,2)
        hist(I_eq(:),0:255);
        title('Equalized image');
    end
    
else
    if model==1
        I_red=im(:,:,1);
        I_green=im(:,:,2);
        I_blue=im(:,:,3);
        I_r=equ(I_red);
        I_g=equ(I_green);
        I_b=equ(I_blue);
        I_eq=cat(3,I_r,I_g,I_b);
             if histFlag==1
                figure;
                subplot(2,3,1)
                hist(I_red(:),0:255);
                title('Original Red');
                subplot(2,3,2)
                hist(I_green(:),0:255);
                title('Original Green');
                subplot(2,3,3)
                hist(I_blue(:),0:255);
                title('Original Blue');
                
                subplot(2,3,4)
                hist(I_r(:),0:255);
                title('Equalized Red');
                subplot(2,3,5)
                hist(I_g(:),0:255);
                title('Equalized Green');
                subplot(2,3,6)
                hist(I_b(:),0:255);
                title('Equalized Blue');
               end
    else if model==2
            [I_hsi,h,s,i]=rgb22hsi(im);
            i=uint8(i*255);
            i_eq=equ(i);
            i_eq=double(i_eq)/255;
            I_hsi=cat(3,h,s,i_eq);
            I_eq=hsi22rgb(I_hsi);
            I_eq=uint8(I_eq*255);
            
                if histFlag==1
                  figure;
                  subplot(1,2,1)
                  hist(i(:),0:255);
                  title('HSI:  I component');
                 subplot(1,2,2)
                 i_eq=uint8(i_eq*255);
                 hist(i_eq(:),0:255);
                 title('Equalized I component');
            end
        end
       end
end