i tried to implement this research paper using MATLAB. Unfortunately, my result is not same with the original result.
histogram_of_image = imhist(input_image);
a = uint8(2); %according to research paper
beta = uint8(2); %according to research paper
for i=1:256
modified_histogram(i) = (log( histogram_of_image(i)+double(a)))^double(beta);
end
for i=1:256
if(modified_histogram(i)~=0)
sum1 = sum1 + (modified_histogram(i));
cnt = cnt + 1;
end
end
tcl = sum1/cnt;
clipped_histogram = zeros(1,256);
for i=1:256
if((modified_histogram(i)) >= tcl)
clipped_histogram(i) = tcl;
else
clipped_histogram(i) = (modified_histogram(i));
end
end
PDa = zeros(1,256);
for i=1:256
PDa(i) = clipped_histogram(i) / (sum(clipped_histogram));
end
CDa = zeros(1,256); %create CDa in formula
CDa(1) = PDa(1) ;
for i=2:256
CDa(i) = PDa(i) + CDa(i-1);
end
value_after_enhancement = zeros(1,256);
for i=1:256
value_after_enhancement(i) = (255 * CDa(i)); %maximum gray level is 255 and minimum grey level is 0
end
b=uint8(0);
output_image=zeros(width,height);
for i=1:width %map new values
for j=1:height
b = input_image(i,j);
output_image(i,j) = value_after_enhancement(b);
end
end
and if you would like to see, here is my all code