A First Course in Machine Vision
IMAGE ENHANCEMENT IN
SPATIAL DOMAIN
By: Ehsan Khoramshahi
Definitions
The principal objective of enhancement is to process an
image so that the result is more suitable for a special
process
Image Enhancement Fall into two categories:
Enhancement in spatial domain and Frequency domain
The term spatial domain refers to the Image Plane itself
which is DIRECT manipulation of pixels.
Frequency domain processing techniques are based on
modifying the Fourier transform of an image.
The term “SPATIAL Domain”
Spatial Domain=Aggregate of pixels
composing an image.
Spatial Domain Methods=Procedures that
operate directly on these pixels.
Denoted by: g(x,y)=T[f(x,y)]
F(x,y) : Input Image , T: Operator on Image
g(x,y): Processed Image.
T also can operate on a set of Images.
Definition of Neighborhood:
Input for Process: A neighborhood about a
point (x,y)
The simplest form of input is a one pixel
neighborhood. s=T(r)
T:Transformation Function
s ,r : gray level of f(x,y) and g(x,y) respectively.
The most basic approach is rectangular sub image
area centered at (x,y)
Is it the only solution ???
Linear Transformation
Linear Transformations:
S=a*r+b
Linear Transformation
s 1 .2 * r
s 0 .5 * r
Negative
s 255 r
Other forms
Non-linear Transformation
s 255 * sin( r * / 255)
Creating a Transformation In
Matlab/Octave
Step1: Defining the Mapping Table
Step2: Use the Mapping table to transfer
pixel values
Step3: Visualization
Piece-wise linear transformation
functions
The form of them could be arbitrarily
complex
A practical implementation of some
important transformations can be formulated
only as piece-wise functions.
Contrast Stretching
Is one of the simplest form of piece-wise
linear function.
Low contrast can result from:
Poor Illumination
Lack of dynamic range in the imaging sensor
Wrong setting of lens aperture.
Contrast Stretching example
Contrast Stretching example
Linear Transformation cont.
Gray Level Slicing
Highlighting a specific range of gray levels in an
image.
Enhancing features like masses of water in
satellite imageries.
One Approach: show high values for pixel of
interest.
Second Approach: Brighten the color of interest
Slicing Example
Histogram Processing
Histogram is a un normalized PDF for gray
values.
It means that it contains the number of pixels
for each gray value.
So it means there are 3 Histogram for a color
Image, because we have 3 Different Class of
0-255 colors.
h(rk ) nk
Histogram
Histogram
Histogram Equalization
Histograms could be considered as
Probability Density Functions. So cumulative
density functions could be defined as well.
Again the case of low contrast image
Hist. Equalization Result
Histograms after Hist. equalization
CDF’s after Hist. Equalization
Histogram Matching
The same concept Except we use the CDF of
one image as a non-linear Transform for
another image.
The resulting Image will have more or less the
same Contrast as the reference.
Enhancement Using Arithmetic/Logic
Operations
Performed on a Pixel-by-Pixel basis
Between two or MORE images.
Example: subtraction of two images.
Logic operations=Logic and/or nor xor xnor
Logic operations operate on a pixel-by-pixel
basis.
We only concern about 1-“and” 2-”or” 3-“not”
because they are functionally complete
The other operations could be expresses as a
function of them.
Image Subtraction
Math formulation:
Background Estimation Foreground
Source Image
Image Averaging
Notation
Application:
Noise Reduction
Astronomy
Surveillance
Background estimation
Example: background estimation by Image
Averaging
Spatial Filtering
Input: Neighborhood + Sub-Image
Output: A single value regarding to each pixel
Definition: A neighborhood operation works
with the values of the image pixels in the
neighborhood and values of a sub-image that
has the same dimension….
Sub-Image is called: Mask, Kernel, Template or Window
Spatial Filters
M1 M2 M3
P1 P2 P3 . . . . . . P10
M4 M5 M6
P11 P12 P13 P14
M7 M8 M9
Mask(w)
Original Image(f)
Response to Mask
Smoothing Filters
N-by-N filters used for noise reduction
Blur an image and remove the high frequency
part of signal
Usually Gaussian Noise could efficiently
remove by them.
Equivalent to High-pass filters in Frequency
domain.
Most-basic type is Mask=ones(3)
Smoothing Filter Example
Order-Statistics Filters
Median
Principal function: to force points with distinct gray
values to be more like their neighbors.
Very suitable for eliminate salt and pepper noise
Max
Min
Mode
They all find an ordering-related elements in a
defined neighborhood and replace it with the
original pixel.
Order-statistics Filters Example
Grab a 3x3 Neighborhood
{10,20,20,20,15,20,20,25,100}
Sort them
{10,15,20,20,20,20,25,100}
Calculate order-statistics Filter, example:
Median:20
Order-Statistics Median Example.
Sharpening
Objective: to highlight detail in an image or
enhance detail that has been blurred, either
in error or as a natural effect of a particular
method of image acquisition.
Applications are vary and important from
electronic printing and medical imaging to
industrial inspection and autonomous
guidance in military systems.
Sharpening cont.
Image blurring can accomplished in the
spatial domain by pixel averaging in a
neighborhood.
Averaging is analogous to integration
So it is logical to conclude that sharpening
could be accomplished by spatial
differentiation
What will be revealed from
image sharpening
Strength of the response of a derivative
operator is proportional to the degree of
discontinuity of the image at that point
So image differentiation will enhances
Edges
Other discontinuities (like Noise)
Deemphasizes
Areas with slowly varying gray-level-values
Fundamental Properties of
sharpening filters
To simplify we will focus on one dimensional
derivative
We are interested on behavior in
Flat segments
At the onset and end of discontinuities(step,ramp)
Along gray level ramps
First order derivative properties
Any definition for fist order should satisfy:
Must be zero in flat segments
Must be non-zero at the onset of a gray-level step
or ramp
Must be non-zero along ramps
Second derivative properties
Any definition should satisfy:
Must be zero in flat areas
Must be non-zero at the onset and end of a gray-
level step or ramp
Must be zero along ramps of constant slpe
Basic Definitions
A basic definition of the first order derivative
of a one-dimensional function f(x):
Second order derivative
1st and 2nd order Derivatives
Derivatives Summary
1st order derivative:
Produces thicker edges in an image
Stronger response to gray level step
2nd order derivative
Stronger response fine details, such as thin lines and
isolated points
Produce double response to step change in gray level
Their responses is greater to a point rather than a line,
to a line rather than a step.
Which one we should choose?
In most applications, the 2nd derivative is better suited
than the 1st for image enhancement
Isotropic filters
Their response is independent of the
discontinuities in the image to which the filter
applied.
So Isotropic filters are rotation invariant, so
rotating and image and then applying the
filter is same as applying the filter then
rotating the result.
It can be shown(Rosenfeld and Kak [1982])
that the simplest isotropic derivative
operation is Laplacian.
Laplacian
Formula
Derivative of any order is linear so Laplacian
is a linear operation
Discrete form of equation
Laplacian Mask
Laplacian Mask Demo
Sharpening by Using Laplacian
Adding the original Image the absolute value
of Laplacian operator
Simplification over the last sharpening
process
Unsharp Masking
A process used for many years in publishing
industries for image sharpening
Consist of subtracting a blurred version of
image from the image itself.
This process called “unsharp Masking”
High-Boost Filter
A slight further generalization of unsharp-masking is called high-
boost filtering
Rewrite high-boost equation:
If A=1 then high-boost is a regular Laplacian.
Effect of High-Boost on a Dark
Image
A First Course in Machine Vision
IMAGE ENHANCEMENT IN
FREQUENCY DOMAIN
Background
Discovered by “Jean Baptiste Joseph Fourier”.
Published as a Theory in the book:”Analytic
Theory of Heat” [1822].
55 years later translated in English by
Freeman[1878].
Fourier express that: any function that
periodically repeats itself can be expressed as a
sum of sines/or cosines of different frequencies,
each multiplied by a different coefficient(we call
this sum Fourier series).
Expressing a complicated
periodic function by sines
One dimensional Fourier
Transform
Direct
Inverse
Components of Fourier Transform are
complex numbers (Real and Imaginary Part)
So we have two Images:
Magnitude or Spectrum of Transform
Phase Angle or Phase spectrum of Transform
Fourier Cont.
Fourier
Magnitude
Phase Angle
Application of DFT
Filtering: Low-pass and High-pass
Convolution in Spatial Domain is a simple
multiplication in Frequency Domain
So Mask filters are easier in Frequency under
the condition that we have specialized
hardware which can run DFT very fast.