19
Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 1 Gray level histograms 0 50 100 150 200 250 0 0.5 1 1.5 2 2.5 3 3.5 4 x 10 4 gray level #pixels Brain image

Gray level histograms - Stanford University · Histogram equalization based on a histogram obtained from a portion of the image [Pizer, Amburn et al. 1987] Sliding window approach:

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 1

Gray level histograms

0 50 100 150 200 2500

0.5

1

1.5

2

2.5

3

3.5

4 x 104

gray level

#pix

els

Brain image

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 2

Gray level histograms

0 50 100 150 200 2500

0.5

1

1.5

2

2.5

3

3.5 x 104

gray level

#pix

els

Bay image

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 3

Gray level histogram in viewfinder

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 4

Gray level histograms

To measure a histogram: For B-bit image, initialize 2B counters with 0

Loop over all pixels x,y When encountering gray level f [x,y]=i, increment counter # i

Normalized histogram can be thought of as an estimate of the probability distribution of the continuous signal amplitude

Use fewer, larger bins to trade off amplitude resolution against sample size.

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 6

Histogram equalization Idea:

Find a non-linear transformation

that is applied to each pixel of the input image f [x,y], such that a uniform

distribution of gray levels results for the output image g[x,y].

g = T f( )

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 7

Analyse ideal, continuous case first ...

Histogram equalization

Assume

Normalized input values and output values T(f) is differentiable, increasing, and invertible, i.e., there exists

0 ≤ f ≤ 1

f = T −1 g( )

0 ≤ g ≤ 1

0 ≤ g ≤ 1

0 ≤ g ≤ 1

Goal: pdf pg(g) = 1 over the entire range

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 8

Histogram equalization for continuous case

From basic probability theory

Consider the transformation function

Then . . .

pg g( )= pf f( )dfdg

f =T −1 g( )

g = T f( )= pf α( )0

f

∫ dα 0 ≤ f ≤ 1

dgdf

= pf f( )

pg g( )= pf f( )dfdg

f =T −1 g( )= pf f( ) 1

pf f( )

f =T −1 g( )

= 1 0 ≤ g ≤ 1

T f( )f gp f f( )

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 10

Histogram equalization for discrete case

Now, f only assumes discrete amplitude values with empirical probabilities

Discrete approximation of

The resulting values gk are in the range [0,1] and might have to be scaled and rounded appropriately.

g = T f( )= pf α( )0

f

∫ dα

gk = T fk[ ]= Pii=0

k

∑ for k = 0,1..., L −1

pixel count for amplitude fl

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 11

Histogram equalization example

Original image Bay ... after histogram equalization

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 12

Histogram equalization example

0 50 100 150 200 2500

0.5

1

1.5

2

2.5

3

3.5 x 104 Original image Bay . . . after histogram equalization

gray level

#pix

els

gray level

#pix

els

0 50 100 150 200 2500

0.5

1

1.5

2

2.5

3

3.5 x 104

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 13

Histogram equalization example

Original image Brain ... after histogram equalization

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 14

0 50 100 150 200 2500

0.5

1

1.5

2

2.5

3

3.5

4 x 104

Histogram equalization example

0 50 100 150 200 2500

0.5

1

1.5

2

2.5

3

3.5

4 x 104 Original image Brain . . . after histogram equalization

gray level

#pix

els

gray level

#pix

els

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 16

Histogram equalization example

Original image Moon ... after histogram equalization

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 17

Histogram equalization example

0 50 100 150 200 2500

2

4

6

8

10

12x 104

0 50 100 150 200 2500

2

4

6

8

10

12 x 104Original image Moon . . . after histogram equalization

gray level

#pix

els

gray level

#pix

els

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 18

Contrast-limited histogram equalization

no clipping

#pix

els

Input gray level Input gray level

Out

put g

ray

leve

l

0.7

0.7

0.4 0.4

0.1 0.1

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 19

Adaptive histogram equalization Histogram equalization based on a histogram obtained from a portion of the image

[Pizer, Amburn et al. 1987]

Sliding window approach: different histogram (and mapping) for every pixel

Tiling approach: subdivide into overlapping regions, mitigate blocking effect by smooth blending between neighboring tiles

Limit contrast expansion in flat regions of the image,

e.g., by clipping histogram values. (“Contrast-limited adaptive histogram equalization”)

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 20

Adaptive histogram equalization Original image

Parrot

Adaptive histogram equalization, 8x8 tiles

Global histogram equalization

Adaptive histogram equalization, 16x16 tiles

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 21

Adaptive histogram equalization Original image

Dental Xray Global histogram equalization

Adaptive histogram equalization, 8x8 tiles

Adaptive histogram equalization, 16x16 tiles

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Histograms 22

Adaptive histogram equalization Original image

Skull Xray Global histogram equalization

Adaptive histogram equalization, 8x8 tiles

Adaptive histogram equalization, 16x16 tiles