MATLAB: What is the difference between AHE and CLAHE

aheclahehistogram equalizationImage Processing Toolbox

Hi, everyone!
Could you please help me what is the difference between Adaptive Histogram Equalization (AHE) and Contrast-Limited Adaptive Histogram Equalization (CLAHE)? Are they the same contrast enhancement techniques? I am really confused with that. If they are not the same, could you help me with the MATLAB code for each algorithm? Thank you for you concern and help! Grateful for any reply!

Best Answer

CLAHE limits the range of the output image so that you don't get big outliers. In essence, it clips values if they get too huge. This is the usual method people use. There is no real harm but good benefits so there's no reason not to do it. I don't ever see straight AHE being used. CLAHE is performed by adapthisteq() in the Image Processing Toolbox.
There is also a histogram equalization function histeq() but it's worthless because it uses the histogram of the whole image. Anyone who's ever used histogram equalization can tell you that global histeq is no good. Histogram equalization is only good if you do it locally like CLAHE does.