cis 595 image enhancement in the spatial domain

75
CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN Dr. Rolf Lakaemper

Upload: roscoe

Post on 09-Feb-2016

113 views

Category:

Documents


2 download

DESCRIPTION

CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN. Dr. Rolf Lakaemper. Most of these slides base on the book Digital Image Processing by Gonzales/Woods Chapter 3. Introduction. Image Enhancement ? enhance otherwise hidden information Filter important image features - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

CIS 595

Image ENHANCEMENTin the

SPATIAL DOMAINDr. Rolf Lakaemper

Page 2: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Most of these slides base on the book

Digital Image Processingby Gonzales/Woods

Chapter 3

Page 3: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Introduction

Image Enhancement ?

• enhance otherwise hidden information• Filter important image features• Discard unimportant image features

Spatial Domain ?

• Refers to the image plane (the ‘natural’ image)

• Direct image manipulation

Page 4: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Remember ?

A 2D grayvalue - image is a 2D -> 1D function,

v = f(x,y)

Page 5: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Remember ?

As we have a function, we can apply operators to this function, e.g.

T(f(x,y)) = f(x,y) / 2

Operator Image (= function !)

Page 6: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Remember ?

T transforms the given image f(x,y)into another image g(x,y)

f(x,y) g(x,y)

Page 7: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Spatial Domain

The operator T can be defined over

• The set of pixels (x,y) of the image• The set of ‘neighborhoods’ N(x,y) of

each pixel• A set of images f1,f2,f3,…

Page 8: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operation on the set of image-pixels

6 8 2 0

12 200 20 10

3 4 1 0

6 100 10 5

Spatial Domain

(Operator: Div. by 2)

Page 9: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operation on the set of ‘neighborhoods’ N(x,y) of each pixel

6 8 2 0

12 200 20 10

226

Spatial Domain

6 8

12 200

(Operator: sum)

Page 10: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operation on a set of images f1,f2,…

6 8 2 0

12 200 20 10

Spatial Domain

5 5 1 0

2 20 3 4

11 13 3 0

14 220 23 14

(Operator: sum)

Page 11: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operation on the set of image-pixels

Remark: these operations can also be seen as operations on the neighborhood of a pixel (x,y), by defining the neighborhood as the pixel itself.

• The easiest case of operators• g(x,y) = T(f(x,y)) depends only on the value

of f at (x,y)• T is called a

gray-level or intensity transformation function

Spatial Domain

Page 12: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Basic Gray Level Transformations

• Image Negatives• Log Transformations• Power Law Transformations• Piecewise-Linear Transformation

Functions

For the following slides L denotes the max. possible gray value of the image, i.e. f(x,y) [0,L]

Transformations

Page 13: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Image Negatives: T(f)= L-f

Transformations

Input gray level

Out

put g

ray

leve

l T(f)=L-f

Page 14: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Log Transformations:T(f) = c * log (1+ f)

Transformations

Page 15: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Log Transformations

Transformations

InvLog Log

Page 16: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Log Transformations

Transformations

Page 17: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Power Law TransformationsT(f) = c*f

Transformations

Page 18: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

• varying gamma () obtains family of possible transformation curves

> 0 • Compresses dark values• Expands bright values

< 0 • Expands dark values• Compresses bright values

Transformations

Page 19: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

• Used for gamma-correction

Transformations

Page 20: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

• Used for general purpose contrast manipulation

Transformations

Page 21: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Piecewise Linear Transformations

Transformations

Page 22: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Thresholding Function

g(x,y) = L if f(x,y) > t,0 else

t = ‘threshold level’

Piecewise Linear Transformations

Input gray level

Out

put g

ray

leve

l

Page 23: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Gray Level Slicing

Purpose: Highlight a specific range of grayvalues

Two approaches:

1. Display high value for range of interest, low value else (‘discard background’)

2. Display high value for range of interest, original value else (‘preserve background’)

Piecewise Linear Transformations

Page 24: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Gray Level Slicing

Piecewise Linear Transformations

Page 25: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Bitplane Slicing

Extracts the information of a single bitplane

Piecewise Linear Transformations

Page 26: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Piecewise Linear Transformations

BP 7

BP 5

BP 0

Page 27: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Exercise:

• How does the transformation function look like for bitplanes 0,1,… ?

• What is the easiest way to filter a single bitplane (e.g. in MATLAB) ?

Piecewise Linear Transformations

Page 28: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

Histogram Processing

gray level

Num

ber o

f Pix

els

1 4 5 0

3 1 5 1

Page 29: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

Histogram Equalization:

• Preprocessing technique to enhance contrast in ‘natural’ images

• Target: find gray level transformation function T to transform image f such that the histogram of T(f) is ‘equalized’

Page 30: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN
Page 31: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histogram Equalization

Equalized Histogram:

The image consists of an equal number of pixels for every gray-

value, the histogram is constant !

Page 32: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histogram Equalization

Example:

We are looking forthis transformation !

T

Page 33: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histogram Equalization

Target: Find a transformation T to transform the

grayvalues g1[0..1] of an image I to grayvalues g2 = T(g1) such that the histogram is equalized, i.e. there’s an equal amount of pixels for each grayvalue.

Observation (continous model !):Assumption: Total image area = 1 (normalized). Then:

The area(!) of pixels of the transformed image in the gray-value range 0..g2 equals the gray-value g2.

Page 34: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histogram Equalization

The area(!) of pixels of the transformed image in the gray-value range 0..g2 equals the gray-value g2.

Every g1 is transformed to a grayvalue that equals the area (discrete: number of pixels) in the image covered by pixels having gray-values from 0 to g1.

The transformation T function t is the

area- integral: T: g2 = 0..g1 I da

Page 35: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histogram Equalization

Discrete:

g1 is mapped to the (normalized) number of pixels having grayvalues 0..g1 .

Page 36: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histogram Equalization

Mathematically the transformation is deducted by theorems in

continous (not discrete) spaces.

The results achieved do NOT hold for discrete spaces !

(Why ?)

However, it’s visually close.

Page 37: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histogram Equalization

Conclusion:

• The transformation function that yields an image having an equalized histogram is the integral of the histogram of the source-image

• The discrete integral is given by the cumulative sum, MATLAB function: cumsum()

• The function transforms an image into an image, NOT a histogram into a histogram ! The histogram is just a control tool !

• In general the transformation does not create an image with an equalized histogram in the discrete case !

Page 38: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operations on a set of images

Operation on a set of images f1,f2,…

6 8 2 0

12 200 20 10

5 5 1 0

2 20 3 4

11 13 3 0

14 220 23 14

(Operator: sum)

Page 39: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operations on a set of images

Logic (Bitwise) Operations

ANDOR

NOT

Page 40: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operations on a set of images

The operators AND,OR,NOT are functionally complete:

Any logic operator can be implemented using only these 3 operators

Page 41: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operations on a set of images

Any logic operator can be implemented using only these 3 operators:

A B Op

0 0 1

0 1 1

1 0 0

1 1 0

Op=

NOT(A) AND NOT(B)

OR

NOT(A) AND B

Page 42: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operations on a set of images

Image 1 AND Image 2

1 2 3 9

7 3 6 4

1 1 1 1

2 2 2 2

1 0 1 1

2 2 2 0

(Operator: AND)

Page 43: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operations on a set of images

Image 1 AND Image 2:Used for Bitplane-Slicing and

Masking

Page 44: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operations on a set of images

Exercise: Define the mask-image, that transforms image1 into image2 using

the OR operand1 2 3 9

7 3 6 4

255 2 7 255

255 3 7 255

(Operator: OR)

Page 45: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operations

Arithmetic Operations on a set of images

1 2 3 9

7 3 6 4

1 1 1 1

2 2 2 2

2 3 4 10

9 5 8 6

(Operator: +)

Page 46: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operations

Exercise:

What could the operators + and – be used for ?

Page 47: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operations

(MATLAB) Example: Operator –Foreground-Extraction

Page 48: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Operations

(MATLAB)Example: Operator +Image Averaging

Page 49: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Part 2

CIS 595

Image ENHANCEMENTin the

SPATIAL DOMAIN

Page 50: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

So far (part 1) :

• Histogram definition• Histogram equalization

Now:

• Histogram statistics

Page 51: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

Remember:The histogram shows the number of

pixels having a certain gray-value

nu

mbe

r of p

ixel

s

grayvalue (0..1)

Page 52: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

The NORMALIZED histogram is the histogram divided by the total number of pixels in the source image.

The sum of all values in the normalized histogram is 1.

The value given by the normalized histogram for a certain gray value can be read as the probability of randomly picking a pixel having that gray value

Page 53: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

What can the (normalized) histogram tell about the

image ?

Page 54: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

1.The MEAN VALUE (or average gray level)

M = g g h(g)

1*0.3+2*0.1+3*0.2+4*0.1+5*0.2+6*0.1=2.6

0.30.20.10.0

1 2 3 4 5 6

Page 55: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

The MEAN value is the average gray value of the image, the ‘overall

brightness appearance’.

Page 56: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

2. The VARIANCE

V = g (g-M)2 h(g)

(with M = mean)or similar:

The STANDARD DEVIATION

D = sqrt(V)

Page 57: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

VARIANCE gives a measure about the distribution of the histogram values around the mean.

0.30.20.10.0

0.30.20.10.0

V1 > V2

Page 58: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

The STANDARD DEVIATION is a value on the gray level axis, showing the average distance of all pixels to the mean

0.30.20.10.0

0.30.20.10.0

D1 > D2

Page 59: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

VARIANCE and STANDARD DEVIATION of the histogram tell us about the average contrast of the image !

The higher the VARIANCE (=the higher the STANDARD DEVIATION), the

higher the image’s contrast !

Page 60: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

Example:

Image and blurred version

Page 61: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

Histograms with MEAN and STANDARD DEVIATION

M=0.73 D=0.32 M=0.71 D=0.27

Page 62: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

Exercise:

Design an autofocus system for a digital camera !

The system should analyse an area in the middle of the picture and automatically adjust the lens such that this area is sharp.

Page 63: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

In between the basics…

…histograms can give us a first hint how to create image databases:

Page 64: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Feature Based Coding

Feature Based Coding• Determine a feature-vector for a given image

• Compare images by their feature-vectors

Two operations need to be defined: a mapping of shape into the feature space and a similarity of feature vectors.

Where are the histograms ?

Representation Feature Extraction Vector Comparison

Page 65: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Feature Based Coding

Feature Based Coding• Determine a feature-vector for a given image

• Compare images by their feature-vectors

Two operations need to be defined: a mapping of shape into the feature space and a similarity of feature vectors.

HERE !

Question: how can we compare histograms (vectors) ?

Representation HISTOGRAM Histogram Comp.

Page 66: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Vector Comparison

Vector Comparison

,

Page 67: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Vector Comparison

Page 68: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Vector Comparison

Page 69: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Vector Comparison

What’s the meaning of the Cosine Distance with respect to histograms ?

i.e.: what’s the consequence of eliminating the vector’s length information ?

Page 70: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Vector Comparison

More Vector Distances:

• Quadratic Form Distance

• Earth Movers Distance

• Proportional Transportation Distance

• …

Page 71: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Vector Comparison

Histogram Intersection

(non symmetric):

d(h1,h2) = 1 - min(h1 ,h2 ) / h1

Ex.: What could be a huge drawback of image comparison using histogram intersection ?

i i i ii

Page 72: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

Exercise:

Outline an image database system, using statistical (histogram)

information

Page 73: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

Discussion:

Which problems could occur if the database consists of the following

images ?

Page 74: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Histograms

Page 75: CIS 595 Image ENHANCEMENT in the SPATIAL DOMAIN

Spatial Filtering

End of histograms.

And now to something completely different …