local histogram equalization

Post on 25-Sep-2015

247 views 3 download

description

is geometric way to compute the local histogram equalization.

Transcript of local histogram equalization

  • Local Histogram Equalization pixel pixel histogram equalization. 3x3 . , hist_eq .

    :

    v ,

    A= 2 1 00 1 34 1 4 , 0-4

    v

    :

    =0 0 0 0 00 2 1 0 00 0 1 3 00 4 1 4 00 0 0 0 0

    v 3x3 (1,1)

    = 0 0 0 0 3 00 4 1 4 00 0 0 0 0

    v PDF (probability density)

    : P(0/4)=6 9 P(1/4)=2 9 P(2/4)=1 9 P(3/4)=0 P(4/4)=0

  • v CDF (cumulative distribution

    function) : 0, pdf(0/4) 4=6 9 4=3 1, [pdf(0/4)+pdf(1/4)] 4=3.554 2, [pdf(0/4)+pdf(1/4)+pdf(2/4)] 4=4 3, 0 4, 0 v :

    = 0 0 0 0 3 00 4 1 4 00 0 0 0 0

    2 CDF 4. . v :

    4 3 32 2 44 3 4

  • MATLAB CODE: A=imread('lena.png'); Img=A; %megethos parathirou M=10; N=20; mid_val=round((M*N)/2); in=0; %vriskoume ton arithmo stilwn kai grammwn pou tha valloume midenika for i=1:M for j=1:N in=in+1; if(in==mid_val) PadM=i-1; PadN=j-1; break; end end end B=padarray(A,[PadM,PadN]); %gemizoume tin eikona me midenika for i= 1:size(B,1)-((PadM*2)+1) for j=1:size(B,2)-((PadN*2)+1) cdf=zeros(256,1); inc=1; for x=1:M for y=1:N

    if(inc==mid_val) %vriskoume to mesaio stoixeio tou parathirou ele=B(i+x-1,j+y-1)+1;

    end pos=B(i+x-1,j+y-1)+1; cdf(pos)=cdf(pos)+1; inc=inc+1; end end

    for l=2:256 %ipologizoume to cdf gia tis times sto parathiro cdf(l)=cdf(l)+cdf(l-1);

    end Img(i,j)=round(cdf(ele)/(M*N)*255); end end

  • b=zeros(1,256); [row,col]=size(A); for x=1:1:row for y=1:1:col if A(x,y)