computes look up table used to equalize an histogram
Given an input histogram
(associated to
classes) and an output range for values
, output look up table
is computed as follow :
We first compute cumulative distribution function :
Output look up table
is then given by :
where
- See also
- http://en.wikipedia.org/wiki/Equalization
-
http://en.wikipedia.org/wiki/Histogram_equalization
Example of Python code :
Example imports
import PyIPSDK
import PyIPSDK.IPSDKIPLIntensityTransform as itrans
import PyIPSDK.IPSDKIPLGlobalMeasure as glbmsr
Code Example
inImg = PyIPSDK.loadTiffImageFile(inputImgPath)
histo = glbmsr.histogramMsr2d(inImg)
equalizeRange = PyIPSDK.createRange(0, 255)
outLut = itrans.equalize(histo, equalizeRange)
Example of C++ code :
Example informations
Header file
#include <IPSDKIPL/IPSDKIPLIntensityTransform/Processor/Equalize/Equalize.h>
Code Example
RangePtr pInOutputRange(boost::make_shared<Range>());
pInOutputRange->setValue<Range::Min>(0);
pInOutputRange->setValue<Range::Max>(255);
IntensityLUTPtr pOutIntensityLUT = equalize(pOutHistogram, pInOutputRange);