0% found this document useful (0 votes)
12 views

Lec_09 SIP CIS-322 Spatial Fil (2)

The document discusses arithmetic and logic operations in image processing, including NOT, AND, and OR operations for image enhancement and masking. It covers spatial filtering techniques, such as linear and nonlinear filtering, for noise reduction and image sharpening, detailing methods like averaging and median filters. Additionally, it explains the mathematical foundations of these operations, including derivatives and the Laplacian operator for edge detection.

Uploaded by

Masud Urrehman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Lec_09 SIP CIS-322 Spatial Fil (2)

The document discusses arithmetic and logic operations in image processing, including NOT, AND, and OR operations for image enhancement and masking. It covers spatial filtering techniques, such as linear and nonlinear filtering, for noise reduction and image sharpening, detailing methods like averaging and median filters. Additionally, it explains the mathematical foundations of these operations, including derivatives and the Laplacian operator for edge detection.

Uploaded by

Masud Urrehman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 69

Lecture No.

Arithmetic and Logic


Operation
Spatial Filtering
CIS-322
Arithmetic and Logic Operation

•NOT
•AND
•OR
Arithmetic and Logic Operation
• Arithmetic and logic operation involving
images are performed on a pixel-by-pixel
basis between two or more images.
• NOT operation is performed on single image.
Negative transformation is performed by this
operation.
• AND & OR operation are used for masking
purpose. (For selecting sub-images in an
image). Some time masking is called Region
of Interest (ROI) processing.
Logic Operation
Arithmetic and Logic Operation
• Addition and subtraction are the most useful
operation for image enhancement.

• Suppose two images f(x,y) and h(x,y). There


difference is expressed as

g(x,y) = f(x,y) - h(x,y)


Image Subtraction
Image after
discarding
the four LSBs
Image Subtraction
Image Averaging for Noise Reduction
Noise is any random phenomenon that contaminates an image.
Noise is inherent in most practical system:
• Image acquisition
• Image transmission
• Image recording
Noise is typically modeled as an additive process
g ( x, y)  f ( x, y)   ( x, y)

Noisy image Noise free Noise


image
The noise η(x,y) at each pixel (x,y) is modeled as a random variable.

Usually, η(x,y) has Zero-mean and the noise values at different


pixels are uncorrelated.

Suppose we have K observations {gi(x,y)}, i=1,2,…,K, we can


(partially) mitigate the effect of noise by “averaging”
K
1
g ( x, y ) 
K
 g ( x, y )
i 1
i

In this case, we can show that


1
E[ g ( x, y)]  f ( x, y) Var[ g ( x, y)]  Var[ ( x, y)]
K

Therefore, as the number of observations increases (Kinfinite),


the effect of noise tends to zero.
b. corrupted by uncorrelated Gaussian
Image averaging noise with zero mean and a standard
deviation of 64 gray levels.
a. Original Image

d. Averaging
c. Averaging of of 16 images
8 images

f. Averaging of
e. Averaging of 128 images
64 images
Image averaging

a-c

a-d

a-e

a-f
Spatial Filtering

Background
• Filter term in “Digital image processing” is
referred to the sub-image
• There are others term to call sub-image
such as mask, kernel, template, or window
• The values in a filter sub-image are referred
as coefficients, rather than pixels.
Basics of Spatial Filtering
• The concept of filtering has its roots in the use
of the Fourier transform for signal processing in
the so-called frequency domain.

• Spatial filtering term is the filtering operations


that are performed directly on the pixels of an
image
Mechanics of spatial filtering
• The process consists simply of moving the
filter mask from point to point in an image.

• At each point (x,y) the response of the filter


at that point is calculated using a predefined
relationship
Linear spatial filtering
The result is the sum of
products of the mask
f(x-1,y-1) f(x-1,y) f(x-1,y+1)
coefficients with the
corresponding pixels f(x,y-1) f(x,y) f(x,y+1)
directly under the mask
w(-1,-1) w(-1,0) w(-1,1)
f(x+1,y-1) f(x+1,y) f(x+1,y+1)

w(0,-1) w(0,0) w(0,1)

w(1,-1) w(1,0) w(1,1)

R w(1,1) f ( x  1, y  1)  w(1,0) f ( x  1, y )  w(1,1) f ( x  1, y  1) 


w(0,1) f ( x, y  1)  w(0,0) f ( x, y )  w(0,1) f ( x, y  1) 
w(1,1) f ( x  1, y  1)  w(1,0) f ( x  1, y )  w(1,1) f ( x  1, y  1)
Note: Linear filtering
• The coefficient w(0,0) coincides with image value
f(x,y), indicating that the mask is centered at (x,y)
when the computation of sum of products takes
place.

• For a mask of size mxn, we assume that m=2a+1 and


n=2b+1, where a and b are nonnegative integer.
Then m and n are odd.
Linear filtering
• In general, linear filtering of an image f of
size M x N with a filter mask of size m x n is
given by the expression:

a b
g ( x, y )    w(s, t ) f ( x  s, y  t )
s   at   b
where
x = 0, 1, 2, 3…..M-1
y = 0, 1, 2, 3…..N-1
Discussion
• The process of linear filtering similar to a
frequency domain concept called
“convolution”
Simplify expression mn
R  w1 z1  w2 z2  ...  wmn zmn   wi zi w1 w2 w3
i 1
9 w4 w5 w6
R  w1 z1  w2 z2  ...  w9 z9   wi zi w7 w8 w9
i 1
Where the w’s are mask coefficients, the z’s are the value of
the image gray levels corresponding to those coefficients
Nonlinear spatial filtering
• Nonlinear spatial filters also operate on
neighborhoods, and the mechanics of sliding
a mask past an image are the same as was
just outlined.

• The filtering operation is based conditionally


on the values of the pixels in the
neighborhood under consideration
Smoothing Spatial Filters
• Smoothing filters are used for blurring and
for noise reduction.
– Blurring is used in preprocessing steps, such as
removal of small details from an image prior to
object extraction, and bridging of small gaps in
lines or curves
– Noise reduction can be accomplished by
blurring
Type of smoothing filtering
• There are 2 way of smoothing spatial filters

1. Smoothing Linear Filters

2. Order-Statistics Filters
Smoothing Linear Filters
• Linear spatial filter is simply the average of
the pixels contained in the neighborhood of
the filter mask.

• Sometimes called “averaging filters”.

• The idea is replacing the value of every pixel


in an image by the average of the gray levels
in the neighborhood defined by the filter
mask.
Two 3x3 Smoothing Linear Filters

1 1 1 1 2 1
1 1
 1 1 1  2 4 2
9 16
1 1 1 1 2 1

Standard average Weighted average


5x5 Smoothing Linear Filters

1 1 1 1 1

1 1 1 1 1
11
 1 1 1 1 1
25
?
1 1 1 1 1

1 1 1 1 1
Smoothing Linear Filters
• The general implementation for filtering an
MxN image with a weighted averaging filter
of size mxn is given by the expression
a b

  w(s, t ) f ( x  s, y  t )
g ( x, y )  s   at   b
a b

  w(s, t )
s   at   b where
x = 0, 1, 2, 3…..M-1
y = 0, 1, 2, 3…..N-1
Result of Smoothing Linear Filters
Original Image

[3x3] [5x5] [7x7]


Order-Statistics Filters
• Order-statistics filters are nonlinear spatial filters
whose response is based on ordering (ranking) the
pixels contained in the image area encompassed by
the filter, and then replacing the value of the center
pixel with the value determined by the ranking
result.
• Best-known “median filter”
Process of Median filter
• Corp region of
neighborhood
10 15 20 • Sort the values of the
pixel in our region
20 100 20 • In the MxN mask the
median is MxN div 2
20 20 25 +1

10, 15, 20, 20, 20, 20, 20, 25, 100

5th
Result of median filter

Noise from Glass effect Remove noise by median filter


Sharpening Spatial Filters
• The principal objective of sharpening is to
highlight fine detail in an image or to
enhance detail that has been blurred, either
in error or as an natural effect of a
particular method of image acquisition.
Introduction
• The image blurring is accomplished in the
spatial domain by pixel averaging in a
neighborhood.

• Since averaging is analogous to integration.

• Sharpening could be accomplished by spatial


differentiation.
Foundation
• We are interested in the behavior of these
derivatives in areas of constant gray level
(flat segments), at the start and end of
discontinuities (step and ramp
discontinuities), and along gray-level ramps.

• These types of discontinuities can be noise


points, lines, and edges.
Definition for a first derivative
• Must be zero in flat segments
• Must be nonzero at the onset of a gray-level
step or ramp; and
• Must be nonzero along ramps.
Definition for a second derivative
• Must be zero in flat areas;
• Must be nonzero at the onset and end of a
gray-level step or ramp;
• Must be zero along ramps of constant slope
Definition of the 1st-order derivative
• A basic definition of the first-order derivative of a
one-dimensional function f(x) is
f f ( x  h)  f ( x)

x h
Since we are dealing with digital quantities whose values are finite, the
maximum possible gray-level change also is finite, and the shortest
distance over which that change can occur is between adjacent pixels.

f
 f ( x  1)  f ( x)
x
Definition of the 2nd-order derivative
• We define a second-order derivative as the
difference

2 f
 f ( x  1)  f ( x  1)  2 f ( x).
x 2
Gray-level profile

000123200226332233000000776553
7
6
5
4
3
2
1
0
Derivative of image profile

0 0 0 1 2 3 2 0 0 2 2 6 3 3 2 2 3 3 0 0 0 0 0 0 7 7 6 5 5 3

first 0 0 1 1 1-1-2 0 2 0 4-3 0-1 0 1 0-3 0 0 0 0 0-7 0-1-1 0-2

second 0-1 0 0-2-1 2 2-2 4-7 3-1 1 1-1-3 3 0 0 0 0-7 7-1 0 1-2
Analyze
• The 1st-order derivative is nonzero along the
entire ramp, while the 2nd-order derivative is
nonzero only at the onset and end of the
ramp.

st make thick edge and 2nd make thin edge


• The response at and around the point is
1
much stronger for the 2nd- than for the 1st-
order derivative
The Laplacian (2nd order derivative)

• Shown by Rosenfeld and Kak[1982] that the simplest


isotropic derivative operator is the Laplacian is
defined as

 2
f  2
f
 f  2  2
2

x y

Because derivatives of any order are linear operations,


the Laplacian is a linear operator.
Discrete form of derivative
f(x-1,y)

f(x,y) 2 f
 f ( x  1, y )  f ( x  1, y )  2 f ( x, y )
x 2

f(x+1,y)

2 f
f(x,y-1) f(x,y) f(x,y+1)  f ( x, y  1)  f ( x, y  1)  2 f ( x, y)
y 2
 2 f  f ( x  1, y )  f ( x  1, y )  f ( x, y  1)  f ( x, y  1)  4 f ( x, y )

f(x-1,y)

0 1 0
f(x,y-1) f(x,y) f(x,y+1) 1 -4 1
0 1 0
f(x+1,y)
2-Dimentional Laplacian
• The digital implementation of the 2-Dimensional
Laplacian is obtained by summing 2 components
 2
f  2
f
2 f  2  2
x x
 2 f  f ( x  1, y )  f ( x  1, y )  f ( x, y  1)  f ( x, y  1)  4 f ( x, y )

0 1 0
It gives an isotropic result for
1 -4 1
rotations in increments of 90°.
0 1 0
Incorporation of diagonal directions
2 f
 f ( x  1, y  1)  f ( x  1, y  1)  2 f ( x, y )
x 2

2 f
 f ( x  1, y  1)  f ( x  1, y  1)  2 f ( x, y)
y 2

 2 f  f ( x  1, y )  f ( x  1, y )  f ( x, y  1)  f ( x, y  1)
 f ( x  1, y  1)  ( x  1, y  1)  f ( x  1, y  1)  f ( x  1, y  1)
 8 f ( x, y )
Laplacian
This mask yields isotropic results for increments of 45°.

0 1 0 1 1 1
1 -4 1 1 -8 1
0 1 0 1 1 1

1 0 1
0 -4 0
1 0 1
Laplacian
This mask yields isotropic results for increments of 45°.

0 -1 0 -1 -1 -1
-1 4 -1 -1 8 -1
0 -1 0 -1 -1 -1

-1 0 -1
0 4 0
-1 0 -1
Implementation
 f ( x, y )   2 f ( x, y ) If the center coefficient is negative
g ( x, y )  
 f ( x , y )   2
f ( x, y ) If the center coefficient is positive

Where f(x,y) is the original image


 2 f ( x, y ) is Laplacian filtered image
g(x,y) is the sharpen image
Implementation
Implementation
Filtered = Conv(image,mask)
Implementation

filtered = filtered - Min(filtered)


filtered = filtered * (255.0/Max(filtered))
Implementation
sharpened = image + filtered
sharpened = sharpened - Min(sharpened )
sharpened = sharpened * (255.0/Max(sharpened ))
Algorithm
• Using Laplacian filter to original image

• And then add the image result from step 1


and the original image
Simplification
• We will apply two step to be one mask

g ( x, y)  f ( x, y)  f ( x  1, y)  f ( x 1, y)  f ( x, y  1)  f ( x, y 1)  4 f ( x, y)

g ( x, y)  5 f ( x, y)  f ( x  1, y)  f ( x 1, y)  f ( x, y  1)  f ( x, y  1)

0 -1 0 -1 -1 -1
-1 5 -1 -1 9 -1
0 -1 0 -1 -1 -1
Unsharp masking
• A process to sharpen images consists of subtracting a
blurred version of an image from the image itself.
This process, called unsharp masking, is expressed as

f s ( x, y)  f ( x, y)  f ( x, y)

f s ( x, y )
Where denotes the sharpened image obtained by
unsharp masking, and f ( x, y ) is a blurred version of f ( x, y)
High-boost filtering
• A high-boost filtered image, fhb is defined at any point
(x,y) as

f hb ( x, y)  Af ( x, y)  f ( x, y) where A  1

f hb ( x, y)  ( A 1) f ( x, y)  f ( x, y)  f ( x, y)

f hb ( x, y )  ( A  1) f ( x, y )  f s ( x, y )

This equation is applicable general and does not state


explicity how the sharp image is obtained
High-boost filtering and Laplacian

• If we choose to use the Laplacian, then we know


fs(x,y)

 Af ( x, y )   2 f ( x, y )
f hb   If the center coefficient is negative
 Af ( x, y )   f ( x, y ) If the center coefficient is positive
2

0 -1 0 -1 -1 -1
-1 A+4 -1 -1 A+8 -1
0 -1 0 -1 -1 -1
The Gradient (1st order derivative)

• First Derivatives in image processing are implemented


using the magnitude of the gradient.
• The gradient of function f(x,y) is

 f 
Gx   x 
f      f 
G y   
 y 
Gradient
• The magnitude of this vector is given by

mag (f )  Gx2  Gy2  Gx  Gy

Gx -1 1 This mask is simple, and no isotropic.


Its result only horizontal and vertical.

Gy 1
-1
Robert’s Method
• The simplest approximations to a first-order
derivative that satisfy the conditions stated in that
section are

z1 z2 z3 Gx = (z9-z5) and Gy = (z8-z6)

z4 z5 z6 f  ( z9  z5 ) 2  ( z8  z6 )2

z7 z8 z9 f  z9  z5  z8  z6
Robert’s Method
• These mask are referred to as the Roberts
cross-gradient operators.

-1 0 0 -1

0 1 1 0
Sobel’s Method
• Mask of even size are awkward to apply.
• The smallest filter mask should be 3x3.
• The difference between the third and first
rows of the 3x3 mage region approximate
derivative in x-direction, and the difference
between the third and first column
approximate derivative in y-direction.
Sobel’s Method
• Using this equation

f  ( z7  2 z8  z9 )  ( z1  2 z2  z3 )  ( z3  2 z6  z9 )  ( z1  2 z4  z7 )

-1 -2 -1 -1 0 1

0 0 0 -2 0 2

1 2 1 -1 0 1
Homework
• Implement the following filters with MATLAB
– Laplacian
– High-boost with laplacian
– Gradient
– Robert
-1 -2 -1 -1 -2 -1
– Sobel
-2 12 -2 -2 -12 -2
– my mask
-1 -2 -1 -1 -2 -1
Questions?
Questions?
Questions?
Questions?
Questions?
Questions?

You might also like