Histogram Equalisation
The algorithm
4
3
3
3
4
Given an image as below, derive the intensity mapping that will as best
as possible equalise the image histogram. The image histogram is as
shown on the right. There are 8 possible grey scale levels from 0 to 7.
4
4
5
4
4
4
5
5
5
4
4
4
5
4
4
4
3
3
3
4
I
0 1
f(I) 0 0
2
0
3
6
4 5
14 5
6
0
7
0
Step 1: calculate the cumulative
frequency distribution
I
f(I)
Cuf
0 1
0 0
0 0
2
0
0
3
6
6
4 5 6 7
14 5 0 0
20 25 25 25
Idea is to derive an intensity mapping that will make the CuF
turn into
a straight ramp.
Step 2: Compare with the CuF of
an equalised histogram
I
f(I)
Cuf
Feq
0
0
0
3
1
0
0
3
2
0
0
3
3
6
6
4
4
14
20
3
5
5
25
3
6
0
25
3
7
0
25
3
In this case the Equalised (ideal) histogram needs to have 25/8
pels in each bin = 3.125 but only integer numbers of pels are
possible (its frequency after all). So Ive added in one to make
it ok.
Step 2: Compare with the CuF of
an equalised histogram
I
f(I)
Cuf
Feq
0
0
0
3
1
0
0
3
2
0
0
3
3
6
6
4
4
14
20
3
5
5
25
3
6
0
25
3
7
0
25
3
CuFeq
3 6
13 16 19 22 25
Step 2: Design the mapping
I
f(I)
Cuf
Feq
0
0
0
3
1
0
0
3
2
0
0
3
3
6
6
4
4
14
20
3
5
5
25
3
6
0
25
3
7
0
25
3
CuFeq
3 6
13 16 19 22 25
For each intensity in the original image, find an intensity in the
transformed image that has as close as possible, the same amount
of Cumulative frequency.
Step 2: Design the mapping
I
f(I)
Cuf
Feq
0
0
0
3
1
0
0
3
2
0
0
3
3
6
6
4
CuFeq
3 6
13 16 19 22 25
4
14
20
3
5
5
25
3
6
0
0
3
7
0
0
3
So for intensity 0, this has Cuf 0, and the closest in the xformed image
Is a CuFreq of 3. So Intensity 0 in input maps to intensity 0 in output
Step 2: Design the mapping
I
f(I)
Cuf
Feq
0
0
0
3
1
0
0
3
2
0
0
3
3
6
6
4
CuFeq
3 6
13 16 19 22 25
4
14
20
3
5
5
25
3
6
0
25
3
7
0
25
3
Intensity 1 in input maps to Intensity 0 in output.
[Sometimes you can decide not to map into previously used
intensities]
Step 2: Design the mapping
I
0 1
f(I)
0 0
14 5
Cuf
0 0
20 25 25 25
Feq
3 3
CuFe
q
3 6
13 16 19 22 25
Input I
Output I
For each intensity in the original image, find an intensity in the
transformed image that has as close as possible, the same amount
of Cumulative frequency.
Step 2: Design the mapping
I
0 1
f(I)
0 0
14 5
Cuf
0 0
20 25 25 25
Feq
3 3
CuFe
q
3 6
13 16 19 22 25
4 -> 5
Input I
Output I
Step 2: Design the mapping
I
0 1
f(I)
0 0
14 5
Cuf
0 0
20 25 25 25
Feq
3 3
CuFe
q
3 6
13 16 19 22 25
5 ->7
Input I
Output I
Step 2: Design the mapping
I
0 1
f(I)
0 0
14 5
Cuf
0 0
20 25 25 25
Feq
3 3
CuFe
q
3 6
13 16 19 22 25
Input I
Output I
And so on
The new histogram
I
1 2
f(I)
0 0
14 5
Cuf
0 0
20 25 25 25
Feq
3 3
CuFeq
6 9
13 16 19 22 25
F(EQ)
6 0
14 0
Cu(EQ)
6 6
20 20 25
Input I
Output I
Output histogram only uses
4 bins!
The result
4
3
3
3
4
4
4
5
4
4
4
5
5
5
4
Original
4
4
5
4
4
4
3
3
3
4
Input I
Output I
5
1
1
1
5
5
5
7
5
5
5
7
7
7
5
5
5
7
5
5
Equalised
5
1
1
1
5