How to apply Cumulative Density Function Formula?

Hi,
I am trying to implement a research paper using MATLAB. i have to to apply this three formula, respectively.
son.pngPDa = zeros(1,256);
for i=1:256
PDa(i) = hCL(i) / (width*height); % width*height = total number of pixels
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);
end
But maximum value of CDa is 0.109. So, i see a dark image (maximum pixel value is 3) as a result. I couldn't understand where the problem is in my code. Can you help me, please?

4 Comments

If CDa is a cumulative density, then CDa(end) should equal 1 (i.e., the PDa values should sum to 1).
Since that is not happening, maybe the problem is with how hCL is computed. What is hCL?
Thanks for answer, here is my previous steps
1.png
modified_histogram = zeros(1,256); %apply formula
for i=1:256
modified_histogram(i) = (((log( histogram_of_image(i)+alfa))^beta));
end
2.png
for i=1:256
if(modified_histogram(i)~=0)
sum = sum + modified_histogram(i);
cnt=cnt+1;
end
end
tcl = sum/cnt;
hCL = zeros(1,256);
for i=1:256
if((modified_histogram(i))>=tcl)
hCL(i) = tcl;
else
hCL(i) = (modified_histogram(i));
end
end
Sorry, I cannot understand what you are trying to compute.
Thank you for reply.
I am trying to implement an contrast enhancement algorithm using this paper: Research Paper

Sign in to comment.

Answers (0)

Asked:

on 30 Oct 2019

Commented:

on 1 Nov 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!