You are on page 1of 32

Image Enhancement in the Spatial Domain

Low and High Pass Filtering


Topics
 Low Pass Filtering
 Averaging
 Median Filter
 High Pass Filtering
 Edge Detection
 Line Detection
Low Pass Filtering
 Low pass filters block high frequency content of the
image
 High frequency content correspond to boundaries of
the objects
Image Averaging
 Image averaging is obtained by finding the average of
K images. It is applied in de-noising the images.

 A noisy image is defined by:

Assuming that the noise is uncorrelated with zero mean


Image Averaging
De-noised Images
Image averaging in MATLAB
 Open the first image file im1 = imread(‘test1.bmp’);
 Open the second image file im2 = imread(‘test2.bmp’);
 Open the third image file im3 = imread(‘test3.bmp’);
 Find the average imAvg = (im1 + im2 + im3 )/3;
 Display the image imshow(imAvg)
De-noising Effect on Histogram
Spatial Filters
 To work on pixels in the neighborhood of a pixel, a
sub-image is defined.

 The operation on the sub-image pixels is defined using


a mask or filter with the same dimensions.

 Applying the operation to the image is referred to as


convolution
Spatial Masks
Convolving Mask with Image
 Convolving mask with image is carried out by sliding
the mask over the image, multiplying mask values with
the pixel values falling beneath them and obtaining
the sum.

 The sum is used as the value for the position of the


center of the mask over the image
Mean or Average Filter
The Effect of Average Filter
Mean Filter in MATLAB
 I = imread(‘test.tif’);
 H = fspecial(‘average’, 3);
 I2 = imfilter( I, H );
 imshow( I), title(‘Original Image’)
 figure, imshow(I2), title(‘Filtered image’)
Averaging Filter with Thresholding
Median Filter
 Median filter replaces the pixel at the center of the
filter with the median value of the pixels falling
beneath the mask.

 Median filter does not blur the image but it rounds the
corners.
Median Filter Effect
Median Filter in MATLAB
 img = imread(‘test.tif’);
 imSmoothed = medfilt2(img, [3 3]);

 [ 3 3 ] defines the dimension of the filter


High-pass or Sharpening Filters
 High pass filters let the high frequency content of the
image pass through the filter and block the low
frequency content.
 High pass filters can be modeled by first order
derivative as :

 A second order derivative can also be used for


extracting high frequency data
Use of First Derivative - Gradient
 Gradient is a vector which points in the direction of
the greatest rate of increase of the scalar field, and
whose magnitude is the greatest rate of change.
Edge Detection Filters
Edge Detection Example
Edge Image Example
Edge Image Example
Edge Detection in MATLAB
 Img = imread(‘test.tif’);
 edgeImg = edge( Img, ‘sobel’);
 imshow(edgeImg)
Line Detection Filters
Is local Processing Adequate?
 Local processing gives information about the local
neighborhood of pixels.
 The global characteristics of the pixels cannot be
determined from their local characteristics.
 E.g. Line detection using gradient operator can provide
the probability of a pixel being on a line but it cannot
group the pixels into line segments.
Global Processing Example: Hough
Transform
Line Detection using Hough
Transform
 Define the line using its parametric equation y=mx+c
 m is the slope of the line, c in the intersection with y axis
 Define a buffer (M, C) and initialize it to zero
 For all edge pixels Do
 For all combination of m and c values Do
 If the pixel satisfies y=mix+ci the increment the value of the
corresponding buffer location (mi , ci)
Exercise
 Apply Hough transform to an image and draw the
detected lines on the original image
 Use
http://www.mathworks.com/help/toolbox/images/ref/
hough.html
Questions?
Assignment
 Use MATLAB to design a high and a low pass filter.
Apply the filters to some sample images. Apply the
high pass filter after low pass filter and then low pass
after high pass filter. Discuss the results

You might also like