Sunteți pe pagina 1din 56

Image Processing

Overview
Images Pixel Filters
Neighborhood Filters Dithering
Image as a Function
We can think of an image as a function, f,
f: R
2
R
f (x, y) gives the intensity at position (x, y)
Realistically, we expect the image only to be
defined over a rectangle, with a finite range:
f: [a,b]x[c,d] [0,1]

A color image is just three functions pasted
together. We can write this as a vector-
valued function: ( , )
( , ) ( , )
( , )
r x y
f x y g x y
b x y
(
(
=
(
(

Image as a Function
Image Processing
Define a new image g in terms of an existing
image f
We can transform either the domain or the range of f
Range transformation:


What kinds of operations can this perform?

Some operations preserve the range but change
the domain of f :


What kinds of operations can this perform?

Still other operations operate on both the
domain and the range of f .

Image Processing

Point Operations
Point Processing
Original Darken
Invert Lighten
Lower Contrast
Raise Contrast
Nonlinear Raise
Contrast
Nonlinear Lower
Contrast
Point Processing
Original Darken
Invert Lighten
Lower Contrast
Raise Contrast
Nonlinear Raise
Contrast
Nonlinear Lower
Contrast
x + 128 x * 2 255 - x ((x / 255.0) ^2) * 255.0
x - 128 x / 2 x
((x / 255.0) ^ 0.33) * 255.0
Gamma correction
= 1.0; f(v) = v
= 2.5; f(v) = v
1/2.5
= v
0.4
Monitors have a intensity to voltage response curve which is roughly a 2.5 power function
Send v actually display a pixel which has intensity equal to v
2.5
Neighborhood Operations
Convolution
0.2 0.1 -1.0
0.3 0.0 0.9
0.1 0.3 -1.0
Properties of Convolution
Commutative

Associative
a b b a - = -
( ) ( ) c b a c b a - - = - -
Cascade system
f g
1
h
2
h
f = g
2 1
h h -
f = g
1 2
h h -
Convolution
LSIS is doing convolution; convolution is linear and shift invariant
( ) t f
t
( ) ( ) ( ) h f g d x h f x g - = =
}


t t t
( ) t h
t
( ) t h
t
x
kernel h
Convolution - Example
f
g
g f -
Eric Weinsteins Math World
1 2 -1 -2
( ) x c
-1 1
1
( ) x b
-1 1
1
( ) x a
b a c - =
1
Convolution - Example
Point Spread Function
Optical
System
scene image
Ideally, the optical system should be a Dirac delta function.
( ) x o ( ) x PSF
Optical
System
point source point spread function
However, optical systems are never ideal.
Point spread function of Human Eyes
Point Spread Function
normal vision myopia hyperopia
Images by Richmond Eye Associates
astigmatism
Original Image
Blurred Image
Gaussian Smoothing
http://www.michaelbach.de/ot/cog_blureffects/index.html
by Charles Allen Gillbert
by Harmon & Julesz
Gaussian Smoothing
http://www.michaelbach.de/ot/cog_blureffects/index.html
Original Image
Sharpened Image
Sharpened Image
Original Image
Noise
Blurred Noise
Median Filter
Smoothing is averaging
(a) Blurs edges
(b) Sensitive to outliers
(a)
(b)
Sort values around the pixel
Select middle value (median)



Non-linear (Cannot be implemented with convolution)
Median filtering
1
2
N
sort median
Median Filter
Can this be described as a convolution?
Original Image
Example: Noise Reduction
Image with noise Median filter (5x5)
3x3
5x5
7x7
Salt and pepper noise Gaussian noise
Example: Noise Reduction
Original image
Image with noise Median filter (5x5)
Original Image
X-Edge Detection
Y-Edge Detection
General Edge Detection
Can this be described as a convolution?
Some operations preserve the range but change
the domain of f :


What kinds of operations can this perform?

Still other operations operate on both the
domain and the range of f .

Image Processing
Aliasing
Alias: n., an assumed name
Picket fence receding
into the distance will
produce aliasing
Input signal:
x = 0:.05:5; imagesc(sin((2.^x).*x))
Matlab output:
WHY?
Alias!
Not enough samples
Image Scaling
This image is too big to
fit on the screen. How
can we reduce it?

How to generate a half-
sized version?
Image Sub-Sampling
Throw away every other row and
column to create a 1/2 size image
- called image sub-sampling
1/4
1/8
Image Sub-Sampling
1/4 (2x zoom) 1/8 (4x zoom) 1/2
Good and Bad Sampling
Good sampling:
Sample often or,
Sample wisely

Bad sampling:
see aliasing in action!

Really bad in video
Sub-Sampling with Gaussian Pre-Filtering
G 1/4
G 1/8
Gaussian 1/2
Solution: filter the image, then subsample
Filter size should double for each size reduction. Why?
G 1/4 G 1/8 Gaussian 1/2
Sub-Sampling with Gaussian Pre-Filtering
Compare with...
1/4 (2x zoom) 1/8 (4x zoom) 1/2
Aliasing
Canon D60 (w/ anti-alias filter) Sigma SD9 (w/o anti-alias filter)
From Rick Matthews website, images by Dave Etchells
Figure from David Forsyth
Original Image
Warped Image
Warped Image
= +
orig vector field warped
how?
Advection (just like a fluid)

S-ar putea să vă placă și