Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou –...

47
University of Ioannina - Department of Computer Science Intensity Transformations (Histogram Processing) Christophoros Nikou [email protected] Digital Image Processing

Transcript of Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou –...

Page 1: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

University of Ioannina - Department of Computer Science

Intensity Transformations(Histogram Processing)

Christophoros [email protected]

Digital Image Processing

Page 2: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

2

C. Nikou – Digital Image Processing (E12)

Contents

Over the next few lectures we will look at image enhancement techniques working in the spatial domain:

– Histogram processing– Spatial filtering – Neighbourhood operations

Page 3: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

3

C. Nikou – Digital Image Processing (E12)

Image Histograms

The histogram of an image shows us the distribution of grey levels in the imageMassively useful in image processing, especially in segmentation

Grey Levels

Freq

uenc

ies

Page 4: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

4

C. Nikou – Digital Image Processing (E12)

Histogram ExamplesIm

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Page 5: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

5

C. Nikou – Digital Image Processing (E12)

Histogram Examples (cont…)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Page 6: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

6

C. Nikou – Digital Image Processing (E12)

Histogram Examples (cont…)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Page 7: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

7

C. Nikou – Digital Image Processing (E12)

Histogram Examples (cont…)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Page 8: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

8

C. Nikou – Digital Image Processing (E12)

Histogram Examples (cont…)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Page 9: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

9

C. Nikou – Digital Image Processing (E12)

Histogram Examples (cont…)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Page 10: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

10

C. Nikou – Digital Image Processing (E12)

Histogram Examples (cont…)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Page 11: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

11

C. Nikou – Digital Image Processing (E12)

Histogram Examples (cont…)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Page 12: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

12

C. Nikou – Digital Image Processing (E12)

Histogram Examples (cont…)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Page 13: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

13

C. Nikou – Digital Image Processing (E12)

Histogram Examples (cont…)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Page 14: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

14

C. Nikou – Digital Image Processing (E12)

Histogram Examples (cont…)

• A selection of images and their histograms

• Notice the relationships between the images and their histograms

• Note that the high contrast image has the most evenly spaced histogram

Imag

es ta

ken

from

Gon

zale

z &

Woo

ds, D

igita

l Im

age

Pro

cess

ing

(200

2)

Page 15: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

15

C. Nikou – Digital Image Processing (E12)

Contrast Stretching

• We can fix images that have poor contrast by applying a pretty simple contrast specification

• The interesting part is how do we decide on this transformation function?

Page 16: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

16

C. Nikou – Digital Image Processing (E12)

Histogram Equalisation

• Spreading out the frequencies in an image (or equalising the image) is a simple way to improve dark or washed out images.

• At first, the continuous case will be studied:– r is the intensity of the image in [0, L-1].– we focus on transformations s=T(r):• T(r) is strictly monotonically increasing.• T(r) must satisfy:

0 ( ) 1, 0 1T r L for r L≤ ≤ − ≤ ≤ −

Page 17: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

17

C. Nikou – Digital Image Processing (E12)

Histogram Equalisation (cont...)

• The condition for T(r) to be monotonically increasing guarantees that ordering of the output intensity values will follow the ordering of the input intensity values (avoids reversal of intensities).

• If T(r) is strictly monotonically increasing then the mapping from s back to r will be 1-1.

• The second condition (T(r) in [0,1]) guarantees that the range of the output will be the same as the range of the input.

Page 18: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

18

C. Nikou – Digital Image Processing (E12)

Histogram Equalisation (cont...)

a) We cannot perform inverse mapping (from s to r).b) Inverse mapping is possible.

Page 19: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

19

C. Nikou – Digital Image Processing (E12)

Histogram Equalisation (cont...)

• We can view intensities r and s as random variables and their histograms as probability density functions (pdf) pr(r) and ps(s).

• Fundamental result from probability theory:– If pr(r) and T(r) are known and T(r) is

continuous and differentiable, then

1( ) ( ) ( )s r rdrp s p r p r

ds dsdr

= =

Page 20: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

20

C. Nikou – Digital Image Processing (E12)

Histogram Equalisation (cont...)

• The pdf of the output is determined by the pdf of the input and the transformation.

• This means that we can determine the histogram of the output image.

• A transformation of particular importance in image processing is the cumulative distribution function (CDF) of a random variable:

0

( ) ( 1) ( )r

rs T r L p w dw= = − ∫

Page 21: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

21

C. Nikou – Digital Image Processing (E12)

Histogram Equalisation (cont...)

• It satisfies the first condition as the area under the curve increases as r increases.

• It satisfies the second condition as for r=L-1we have s=L-1.

• To find ps(s) we have to compute

dsdr 0

( 1) ( )r

rdL p w dwdr

= − ∫ ( 1) ( )rL p r= −( )dT rdr

=

Page 22: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

22

C. Nikou – Digital Image Processing (E12)

Histogram Equalisation (cont...)

Substituting this result:

to

yields

( ) ( )s rdrp s p rds

=

( 1) ( )rds L p rdr

= −

1( ) ( )( 1) ( )s r

r

p s p rL p r

=−

1 , 0 11

s LL

= ≤ ≤ −−

Uniform pdf

Page 23: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

23

C. Nikou – Digital Image Processing (E12)

Histogram Equalisation (cont...)

The formula for histogram equalisation in the discrete case is given

where• rk: input intensity• sk: processed intensity• nj: the frequency of intensity j• MN: the number of image pixels.

0( ) ( 1) ( )

k

k k r jj

s T r L p r=

= = − ∑0

( 1) k

jj

L nMN =

−= ∑

Page 24: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

24

C. Nikou – Digital Image Processing (E12)

Histogram Equalisation (cont...)Example

A 3-bit 64x64 image has the following intensities:

Applying histogram equalization: 0

0 0 00

( ) 7 ( ) 7 ( ) 1.33r j rj

s T r p r p r=

= = = =∑1

1 1 0 10

( ) 7 ( ) 7 ( ) 7 ( ) 3.08r j r rj

s T r p r p r p r=

= = = + =∑

0( ) ( 1) ( )

k

k k r jj

s T r L p r=

= = − ∑

Page 25: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

25

C. Nikou – Digital Image Processing (E12)

Histogram Equalisation (cont...)Example

Rounding to the nearest integer:

0 1 2 3

4 5 6 7

1.33 1 3.08 3 4.55 5 5.67 66.23 6 6.65 7 6.86 7 7.00 7

s s s ss s s s

= → = → = → = →= → = → = → = →

Page 26: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

26

C. Nikou – Digital Image Processing (E12)

Histogram Equalization (cont…)Example

Notice that due to discretization, the resulting histogram will rarely be perfectly flat. However, it will be extended.

Imag

es ta

ken

from

Gon

zale

z &

Woo

ds, D

igita

l Im

age

Pro

cess

ing

(200

2)

Page 27: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

27

C. Nikou – Digital Image Processing (E12)

Equalisation Transformation FunctionIm

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Page 28: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

28

C. Nikou – Digital Image Processing (E12)

Equalisation ExamplesIm

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

1

Page 29: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

29

C. Nikou – Digital Image Processing (E12)

Equalisation Transformation Functions

The functions used to equalise the images in the previous example

Imag

es ta

ken

from

Gon

zale

z &

Woo

ds, D

igita

l Im

age

Pro

cess

ing

(200

2)

Page 30: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

30

C. Nikou – Digital Image Processing (E12)

Equalisation ExamplesIm

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

2

Page 31: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

31

C. Nikou – Digital Image Processing (E12)

Equalisation Transformation Functions

The functions used to equalise the images in the previous example

Imag

es ta

ken

from

Gon

zale

z &

Woo

ds, D

igita

l Im

age

Pro

cess

ing

(200

2)

Page 32: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

32

C. Nikou – Digital Image Processing (E12)

Equalisation Examples (cont…)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002) 3

4

Page 33: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

33

C. Nikou – Digital Image Processing (E12)

Equalisation Transformation Functions

The functions used to equalise the images in the previous examples

Imag

es ta

ken

from

Gon

zale

z &

Woo

ds, D

igita

l Im

age

Pro

cess

ing

(200

2)

Page 34: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

34

C. Nikou – Digital Image Processing (E12)

Histogram Specification

• Histogram equalization does not always provide the desirable results.

Imag

es ta

ken

from

Gon

zale

z &

Woo

ds, D

igita

l Im

age

Pro

cess

ing

(200

2)

• Image of Phobos (Mars moon) and its histogram.• Many values near zero in the initial histogram

Page 35: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

35

C. Nikou – Digital Image Processing (E12)

Histogram Specification (cont...)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Histogram equalization

Page 36: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

36

C. Nikou – Digital Image Processing (E12)

Histogram specification (cont.)

• In these cases, it is more useful to specify the final histogram.

• Problem statement:– Given pr(r) from the image and the target

histogram pz(z), estimate the transformation z=T(r).

• The solution exploits histogram equalization.

Imag

es ta

ken

from

Gon

zale

z &

Woo

ds, D

igita

l Im

age

Pro

cess

ing

(200

2)

Page 37: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

37

C. Nikou – Digital Image Processing (E12)

Histogram specification (cont…)

•Equalize the initial histogram of the image:

•Equalize the target histogram:

•Obtain the inverse transform:In practice, for every value of r in the image:• get its equalized transformation s=T(r).• perform the inverse mapping z=G-1(s), where s=G(z) is the equalized target histogram.

Imag

es ta

ken

from

Gon

zale

z &

Woo

ds, D

igita

l Im

age

Pro

cess

ing

(200

2)

0

( ) ( 1) ( )r

rs T r L p w dw= = − ∫

0

( ) ( 1) ( )r

zs G z L p w dw= = − ∫1( )z G s−= 1( ( ))G T r−=

( ) ( )G z T r=

Page 38: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

38

C. Nikou – Digital Image Processing (E12)

Histogram specification (cont…)

The discrete case:

•Equalize the initial histogram of the image:

•Equalize the target histogram:

•Obtain the inverse transform:

Imag

es ta

ken

from

Gon

zale

z &

Woo

ds, D

igita

l Im

age

Pro

cess

ing

(200

2)

0( ) ( 1) ( )

k

k k r jj

s T r L p r=

= = − ∑

1( )q kz G s−= 1( ( ))kG T r−=

( ) ( )G z T r=0

( 1) k

jj

L nMN =

−= ∑

0( ) ( 1) ( )

q

k q z ii

s G z L p r=

= = − ∑

Page 39: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

39

C. Nikou – Digital Image Processing (E12)

Histogram Specification (cont...)Example

Consider again the 3-bit 64x64 image:

It is desired to transform this histogram to:

with

0 1 2 3

4 5 6 7

( ) 0.00 ( ) 0.00 ( ) 0.00 ( ) 0.15( ) 0.20 ( ) 0.30 ( ) 0.20 ( ) 0.15

z z z z

z z z z

p z p z p z p zp z p z p z p z

= = = == = = =

0 1 2 3 4 5 6 70, 1, 2, 3, 4, 5, 6, 7.z z z z z z z z= = = = = = = =

Page 40: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

40

C. Nikou – Digital Image Processing (E12)

Histogram Specification (cont...)Example

The first step is to equalize the input (as before):

The next step is to equalize the output:

Notice that G(z) is not strictly monotonic. We must resolve this ambiguity by choosing, e.g. the smallest value for the inverse mapping.

0 1 2 3 4 5 6 71, 3, 5, 6, 6, 7, 7, 7s s s s s s s s= = = = = = = =

0 1 2 3

4 5 6 7

( ) 0 ( ) 0 ( ) 0 ( ) 1( ) 2 ( ) 5 ( ) 6 ( ) 7

G z G z G z G zG z G z G z G z

= = = == = = =

Page 41: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

41

C. Nikou – Digital Image Processing (E12)

Histogram Specification (cont...)Example

Perform inverse mapping: find the smallest value of zq that is closest to sk:

0 0

1 1

2 2

3 3

4 4

5 5

6 6

7 7

( ) ( )1 ( ) 03 ( ) 05 ( ) 06 ( ) 16 ( ) 27 ( ) 57 ( ) 67 ( ) 7

k i qs T r G zs G zs G zs G zs G zs G zs G zs G zs G z

== == == == == == == == =

k qs z→

1 3→

3 4→

5 5→

6 6→

7 7→e.g. every pixel with value s0=1 in the histogram-equalized image would have a value of 3 (z3) in the histogram-specified image.

Page 42: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

42

C. Nikou – Digital Image Processing (E12)

Histogram Specification (cont...)Example

Notice that due to discretization, the resulting histogram will rarely be exactly the same as the desired histogram.

Imag

es ta

ken

from

Gon

zale

z &

Woo

ds, D

igita

l Im

age

Pro

cess

ing

(200

2)

Page 43: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

43

C. Nikou – Digital Image Processing (E12)

Histogram Specification (cont...)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Histogram equalizationOriginal image

Page 44: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

44

C. Nikou – Digital Image Processing (E12)

Histogram Specification (cont...)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Histogram equalization

Page 45: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

45

C. Nikou – Digital Image Processing (E12)

Histogram Specification (cont...)Im

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

Specified histogram

Transformation function and its inverse

Resulting histogram

Page 46: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

46

C. Nikou – Digital Image Processing (E12)

Local Histogram ProcessingIm

ages

take

n fro

m G

onza

lez

& W

oods

, Dig

ital I

mag

e P

roce

ssin

g (2

002)

• Image in (a) is slightly noisy but the noise is imperceptible.• HE enhances the noise in smooth regions (b).• Local HE reveals structures having values close to the values of the

squares and small sizes to influence HE (c).

Page 47: Intensity Transformations (Histogram Processing)cnikou/Courses/Digital_Image... · C. Nikou – Digital Image Processing (E12) Histogram Equalisation • Spreading out the frequencies

47

C. Nikou – Digital Image Processing (E12)

Summary

We have looked at:– Different kinds of image enhancement– Histograms– Histogram equalisation– Histogram specification

Next time we will start to look at spatial filtering and neighbourhood operations