Code computes histogram equalization not similar to Matlab's histeq function
    7 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
I have a written a simple code for histogram equalization based on this formula: HistEq = (max gray leve/total no of pixels)*cumulative sum(count). I wonder why the result is quite different from Matlab's function histeq? Can someone please figure out where I am wrong?
   clear;
   clc;
  % Input image
Img = imread('lena.bmp');
I = double(Img);
[H, W] = size(I);
total = H * W; 
count = imhist(Img); 
maxL = 255;
csum = 0;  % Initialize to zero
cumuSum = zeros(1, length(count))';
for idx = 1 : length(count)
    csum = csum + count(idx);
    cumuSum(idx) = csum;
end
HistEq = round(maxL/total * cumuSum);
HIm = zeros(H, W);
for idx = 1 : H
    for idy = 1 : W
        HIm(idx, idy) = HistEq(Img(idx, idy));
    end
end
<<

>>

0 Commenti
Risposte (1)
  xiao
 il 11 Mag 2018
        you can refer the function (histogram equalization) doc page and there are related references, then you can check the algorithm details.
0 Commenti
Vedere anche
Categorie
				Scopri di più su Histograms in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!