digital image processing_ ch2 enhancement spatial-domain
DESCRIPTION
TRANSCRIPT
![Page 1: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/1.jpg)
Chapter 2
Image Enhancement in the Spatial Domain:
![Page 2: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/2.jpg)
Image Enhancement – Aims & Objectives
Image enhancement aims to process an image so that the output image is “more suitable” than the original. Suitability may be subjective but it is application-dependent.
It includes sharpening, smoothing, highlighting features, or normalising illumination for display and/or analysis.
Either helps solve some computer imaging problems, or is used as an end in itself to improve “image quality”.
Enhancement methods are either used as a preprocessing step to other imaging tasks, or as post-processing to create a more visually desirable image.
![Page 3: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/3.jpg)
Image Enhancement – General Approach
Image processing techniques are based on performing Image transformations using Image operators that either manipulate the spatial information (i.e. pixel values) or the frequency information (the light wave components).
The easiest type of Image operators are Linear.
An image operator is said to be linear if for any two images f and g, and two numbers a and b:
(af+bg) = a (f) + b (g).
![Page 4: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/4.jpg)
Image Enhancement – General Approach
Enhancing an image in the spatial domain could be achieved by image operators that transform an image by changing pixel values or move them around.
Selecting the most appropriate image enhancing operators often require an analysis of the image content and depends on the aim of enhancement.
Automatically triggered enhancement is desirable but may be difficult. In some cases it is a trial & error process.
Success of enhancement may be evaluated subjectively by viewers or according to defined criterion.
![Page 5: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/5.jpg)
Image Histogram The frequency distribution of gray values in an image
conveys useful information on image content and may help determine the nature of the required enhancement
For any image f of size mxn and Gray Level resolution k, the histogram of h is a discrete function defined on the set {0, 1, …, 2k-1} of gray values such that h(i) is the number of pixels in the image f which have the gray value i.
It is customary to “normalise” a histogram by dividing h(i) by the total number of pixels in the image, i.e. use the probability distribution:
p(i) = h(i)/mn.
Histograms are used in numerous processing operations.
![Page 6: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/6.jpg)
Histograms - Examples
![Page 7: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/7.jpg)
Local Vs Global Histograms – Image Features
• Histograms for parts of an image provide information on illumination and distortion and are thus useful for feature analysis.
• Local Histograms may provide more information on image content than the global histogram.
![Page 8: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/8.jpg)
Histograms of an image in different Colour Channels
Some Facial features are detected using specific colour channels
![Page 9: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/9.jpg)
Image Operators in the Spatial domain
• An image operator in the spatial domain T applied on an image f(x,y) defines an output image:
g(x,y) = T(f(x,y))
which is defined in terms of the pixel values in a neighbourhood centred at (x,y).
• Most commonly used neighbourhoods are squares or rectangles.
• The simplest form of T is when the neighbourhood consists of the pixel itself alone, i.e it depends on f(x,y) alone.
In this case, T is a Gray Level transform which maps the set {0,1,…,L-1} of grey levels into itself, i.e. is a function:
T: {0,1,…,L-1} {0,1, …, L-1}.
• Larger size neighbourhood-based operators are referred to as mask processing or filtering.
![Page 10: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/10.jpg)
Simple Gray Level transforms
The most common type of grey level transforms are linear or piecewise (not necessarily continuous) linear functions
Negative Image Transform
0
51
102
153
204
255
0 51 102 153 204 255
The Image Negative transform an image with gray level in the range {0,1,…,L-1} using the negative map:
TNeg (i) = L - 1 – i.
e.g. if L = 28 = 256 then
TNeg(i) = 255 – i.
![Page 11: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/11.jpg)
Example – Negative of an image
The negative image is a useful tool in analysing Digital Mammograms.
![Page 12: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/12.jpg)
• For any 0 < t < 255 the
threshold transform Thrt
is defined for each i by:
0 If i < tThrt (i) = i otherwise
Piecewise Linear Gray Level transforms
Thresholding Transforms
0
51
102
153
204
255
0 51 102 153 204 255
Thr80
![Page 13: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/13.jpg)
The Threshold Transform in VC.Net
![Page 14: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/14.jpg)
This chart represents the
transform T which is
defined for each i by:
2*i If i 110
T (i) = i If 110 <i 200
255 If i >200.
A Piecewise Linear Gray Level transform
T
Peicewise_linear
0153045607590
105120135150165180195210225240255
0 15 30 45 60 75 90 105 120 135 150 165 180 195 210 225 240 255
![Page 15: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/15.jpg)
The above Piecewise Transform in MATLAB
![Page 16: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/16.jpg)
Non-linear Basic Gray Level transforms
• The Log transform is based on a function of the form:
Logc (i) = = c Log(1+ i)
for a constant c.
Depending the value of c, this function darken the pixels in a non-uniform way.
• The Gamma transform is based on a function of the form:
Gamma(c, ) (i) = c *i
for constants c and .
The effect of this transform depends on the value of c and .
Log(1+i)
0123456789
10
-20 35 90 145 200 255
Gamm(i,0.7)
0
10
20
30
40
50
60
-45 5 55 105 155 205 255
These transforms effect different images in different ways.
![Page 17: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/17.jpg)
Basic Point Processing
![Page 18: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/18.jpg)
Power-law transformations
![Page 19: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/19.jpg)
Why power laws are popular?
• A cathode ray tube (CRT), for example, converts a video signal to light in a nonlinear way. The light intensity I is proportional to a power (γ) of the source voltage VS
• For a computer CRT, γ is about 2.2
• Viewing images properly on monitors requires γ-correction
![Page 20: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/20.jpg)
Effect of Gamma transform –Examples >1
Original Aerial image
Gamma transform, c =1, =3.0
Gamma transform, c =1, =4.0
Gamma transform, c =1, =5.0
![Page 21: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/21.jpg)
Effect of Gamma transform - Examples <1
Original MRI image Gamma transform, c =1, =0.6
Gamma transform, c =1, =0.4
• From the two examples, we note that: dark areas become brighter and very bright areas become slightly darker.
• Faint images can be improved with >1, and dark images benefit from using <1.
![Page 22: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/22.jpg)
Contrast & Brightness concepts
The dynamic range of an image is the exact subset of grey values {0,1,…,L-1} that are present in the image.
The image histogram gives a clear indication on its dynamic range
When the dynamic range contains significant proportion of the grey scale, then the image is said to have a high dynamic range, and the image will have a high contrast.
Low–contrast images can result from
poor illumination
Lack of dynamic range in the imaging sensor
Wrong setting of lens aperture at the image capturing stage.
The most common enhancing procedures to deal with these problems are Gray Level transform
![Page 23: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/23.jpg)
Examples
Poor contrast
Reasonable but not perfect contrast
![Page 24: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/24.jpg)
Contrast enhansing Gray Level transforms
• Contrast Stretching aims to
increase the dynamic range
of an image. It transforms
the gray levels in the range
{0,1,…,L-1} by a piecewise
linear function.
• Gray level Slicing aims to
highlight a specific range
[A…B] of Gray levels. It
simply maps all Gray values
in the chosen range to a
constant. Other values are
either mapped to another
constant or left unchanged
![Page 25: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/25.jpg)
Contrast stretching - Example
otherwise.
7528 if 47/)5040227()(
i
iiiT
![Page 26: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/26.jpg)
Gray-level Stretching with Clipping at Both Ends
Original image Modified image with stretched gray levels
This operator is implemented by the function:
0 if i <80
S(i) = 255(i - 80)/100 if 80 i 180
255 if i > 180
S
![Page 27: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/27.jpg)
Gray Level Slicing - Examples
![Page 28: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/28.jpg)
Effect of Gray Level transforms on Histogram Gray level transforms do change image histograms in ways
that depends on the transform equation & parameters
Diagram 1
Diagram 2
The Gray-level slicing shown in diagram 2 results in 0 probability density for all gray levels in the range 150-200 while increasing the probability density of 255.
The Gray-level stretching shown in diagram 1, below, results in boosting the probability of the gray levels 75 – 255 at the expense of the range 28-75.
![Page 29: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/29.jpg)
Contrast stretching
Histogram Before Histogram After
![Page 30: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/30.jpg)
Gray-level Stretching with Clipping at Both Ends
Original image Image after gray levels stretch
Histogram Before Histogram after
![Page 31: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/31.jpg)
Gray Level Slicing Effects - Examples
Original image Image after slicing
Histogram Before Histogram after slicing
![Page 32: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/32.jpg)
Gamma Transform - Example
Original Aerial image
Gamma Transform,c =1, =4.0
Transformed image
![Page 33: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/33.jpg)
Histogram Manipulation &
Filtering
![Page 34: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/34.jpg)
Introduction
In the previous slides , we introduced few gray-level transforms that are useful for many image processing tasks such as enhancement, compression and segmentation.
Such transforms change input images and their histograms in ways that depend on the transform parameter(s) which are often selected manually.
Question:
Is it possible to design gray-level transforms that manipulate image histograms in specified ways?
Beside answering this we shall study the use of Filtering (i.e. image operators that change pixel values in terms of a subset of a neighboring pixels) for image enhancement.
![Page 35: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/35.jpg)
Image Histogram & Image brightness
In dark images, histogram components are concentrated on the low (dark) side of the gray scale.
In bright images, histogram components are biased toward the high (bright) side of the gray scale.
Image brightness level can be deduced from Histograms
![Page 36: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/36.jpg)
Image Histogram & Image contrast
Histograms also hold information about image contrast.
In low contrast images, histogram components are crammed in a narrow central part of the gray scale.
In high contrast images, the histogram occupy the entire gray scale (i.e. Has high dynamic range) in a near uniform distribution.
![Page 37: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/37.jpg)
Enhancement through Histogram Manipulation
• Histogram manipulation aims to determine a gray-level transform that produces an enhanced image that have a histogram with desired properties.
• The form of these gray-level transforms depend on the nature of the histogram of the input image and desired histogram.
• Desired properties include having a near uniformly distributed histograms or having a histogram that nearly match that of a reference (i.e. template) image.
• For simplicity, sometimes we normalise the gray levels r so that
0 r 1 rather than being in the set {0,1, …, L-1}.
![Page 38: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/38.jpg)
One-to-one FunctionsDefinition: A one-to-one (injective) function f from
set X to set Y is a function such that each x in X is related to a different y in Y.
X
Y
X
Y
![Page 39: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/39.jpg)
![Page 40: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/40.jpg)
![Page 41: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/41.jpg)
![Page 42: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/42.jpg)
For functions, there are two conditions for a function to be the inverse function:
1) g(f(x)) = x for all x in the domain of f
2) f(g(x)) = x for all x in the domain of g
e.g Find the inverse function for f(x) or y = 5x + 2
To find the inverse, interchange x and y.
x = 5y + 2
Now isolate for y!!
x - 2 = 5y
(x - 2)/5 = y or g(x)
g(f(x))=((5x + 2) -2)/5=x
f(g(x))=5((x - 2)/5 )+2=x
![Page 43: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/43.jpg)
is Gamma transform reversible?
r
c
ylog
r
c
ylog
)(xlog
2
222
2r
2rr
22
2 222
r
cy
log)(xlog
c
ylog)(xlogr
c
ylog)(xlog
c
yx xcy
x
![Page 44: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/44.jpg)
is Log transform reversible?
c
y
c
y
x 2
22
c
yxlog
xlog cy
)(xlog
2
2
2
![Page 45: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/45.jpg)
Histogram Equalisation
• This works for continuous pdf’s, and for a discrete set {0,1,…,L-1} of gray levels it translates to:
.)()(0r
dwwprTs
• Due to the randomness of light sources and sensor position among other factors we assume that gray levels in an Image is a random variable with probability density function (pdf) at gray level r being the expected proportion of pixels that have r gray value.
.)(
)(
r
oi N
iFreqrTs
Where Freq(i) is the number of pixels in the image that have Gray value I, and N is the image size
![Page 46: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/46.jpg)
Pseudo Code for Histogram Equalisation
Step 1: Scan the image to calculate the Freq[0..L-1], i.e. histogram
Step 2: From the Freq[ ] array compute the cumulative frequency array Cum_freq[0...L-1]:
{ Cum-freq[0] =Freq[0];
for i=1 to L-1
Cum_freq[i] =Cum_freq[i-1]+Freq[i];
}
Step 3: Determine the HE transformation lookup table:
for i=0 to L-1
{ j= round(Cum_freq[i]*(L-1)/N);
T[i] =j;
inv_T[j] = i; //optional
}
Step 4: Transform the image using the lookup table T.
![Page 47: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/47.jpg)
Example 1
• Histogram is nearer to uniform than original.
• Improved Contrast but some added noise.
![Page 48: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/48.jpg)
Histograms Equalisation – Example 2
Gray levels in the output image are not very uniformly distributed.
![Page 49: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/49.jpg)
Example 3
Original
Histogram Equalised Image
![Page 50: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/50.jpg)
Example 4
![Page 51: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/51.jpg)
Example 5
Original
After HE
operation
![Page 52: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/52.jpg)
Example 6
![Page 53: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/53.jpg)
Example 7
![Page 54: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/54.jpg)
Remarks on HE effects
• Histogram Equalisation does improve contrast in some cases, but it may introduce noise and other undesired effect.
• Image regions that are dark and not clearly visible become clearer but this may happen at the expense of other regions.
• These undesired effect is a consequence of digitization. When digitise the continuous operations rounding leads to approximations.
• Images for which different regions exhibit different brightness level, may benefit from applying HE on sub-blocks of the images.
• The quality of well lit images after HE suffer more than expected.
![Page 55: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/55.jpg)
Histogram Matching
• The previous examples show that the effect of HE differs from one image to another depending on global and local variation in the brightness and in the dynamic range.
• Applying HE in blocks may introduce boundary problems, depending on the block size.
• Histogram Matching is another histogram manipulation process which is useful in normalizing light variation in classification problems such as recognition.
• HM aims to transform an image so that its histogram nearly matches that of another given image.
• HM is the sequential application of a HE transform of the input image followed by the inverse of a HE transform of the given image.
![Page 56: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/56.jpg)
Pseudo Code for Histogram Matching
Step 1: Open the “Inv_HE” a file and read its entries into inv_T0.
This file should have been created by the HE++ algorithm for a good template image.
Step 2. Scan the input image I to calculate the Freq[0..L-1].
Step 3: From the Freq[] array compute the cumulative frequency array Cum_freq[0...L-1]:
{ Cum-freq[0] =Freq[0];
for i=1 to L-1
Cum_freq[i] =Cum_freq[i-1]+Freq[i];}
Step 4: Determine the HM transformation lookup table:
for 0=1 to L-1
j = round(Cum_freq[i]*(L-1)/N);
HM_T[i] =Inv_T0[j];
Step 5: Transform the image using the lookup table HM_T.
![Page 57: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/57.jpg)
Filtering in the spatial domain
• Filtering in the spatial domain refers to image operators that transform the gray value at any pixel (x,y) in terms of the pixel values in a square neighbourhood centred at (x,y) using a fixed integer matrix of the same size.
• The integer matrix is called a filter, mask, kernel or a window. The operation is mainly the inner product (also known as the convolution) of the pixel neighbourhood subimage with the filter.
• The filtering process works by replacing each pixel value with the result of convolution at the pixel.
• Filtering is often used to remove noise in images that could occur as a result of less than perfect imaging devices, signal interference, or even as a result of image processing such as HE transforms.
![Page 58: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/58.jpg)
Spatial Filters - illustration
![Page 59: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/59.jpg)
Spatial filters classification filters
• Spatial filters can be classified by effect:
– Smoothing Filters: Aim to remove some small isolated detailed pixels by some form of averaging of the pixels in the masked neighborhood. These are also called lowpass filters.
Examples include Weighted Average, Gaussian, and order statistics filters.
– Sharpening Filters: aiming at highlighting some features such as edges or boundaries of image objects.
Examples include the Laplacian , and Gradient filters.
• Spatial filters are also classified in terms of mask size (e.g. 3x3, 5x5, or 7x7).
![Page 60: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/60.jpg)
A weighted average filter - Example
.44)1875.44int(
16/)25702602025044123045240(
: withreplaced is oodneighbourh in the pixel central the
toscorrespond that imageoutput theof valuepixel then the
257060
205041
304540
is subimage oodneighbourh the
and
121
242
121
16
1 if example,For
![Page 61: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/61.jpg)
Smoothing filters
• Smoothing Filters are particularly useful for blurring and noise reduction.
• Smoothing filters work by reducing sharp transition in grey levels.
• Noise reduction is accomplished by blurring with linear or non-linear filters (e.g. the order statistics filters).
• Beside reducing noise, smoothing filters often remove some significant features and reduce image quality.
• Increased filter size result in increased level of blurring and reduced image quality.
• Subtracting a blurred version of an image from the original may be used as a sharpening procedure.
![Page 62: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/62.jpg)
Effect of Averaging Linear Filtersoriginal 3x3 filter 5x5 filter
9x9 filter
15x15 filter
35x35 filter
The extent of burring increases the larger the filter is.
![Page 63: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/63.jpg)
Filtering using vc++Bitmap ^ Filter(Bitmap ^ im1){Bitmap ^im2=gcnew Bitmap(w,h);int fsize=3;int AvrgFilter[3][3]= {1,2,1,2,4,2,1,2,1}for (x=1;x<w-1 ;x++) for(y=1;y<h-1 ;y++){ int r= 0,g=0,b=0; for ( i=- fsize /2;i<= fsize /2;i++) for ( j=- fsize /2;j<= fsize /2;j++){
Color c=im1->GetPixel(x+i,y+j); r+=c.R* AvrgFilter [i+ fsize /2][j+ fsize /2]; g+=c.G* AvrgFilter [i+ fsize /2][j+ fsize /2]; b+=c.B* AvrgFilter [i+ fsize /2][j+ fsize /2];}
r=r/16;g=g/16;b=b/16; im2->SetPixel(x,y,Color::FromArgb(r,g,b));}// for return im2; }
![Page 64: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/64.jpg)
Order Statistical filters
• These refer to non-linear filters whose response is based on ordering the pixels contained in the neighborhood. Examples include Max, Min, Median and Mode filters.
• The median which replaces the value at the centre by the median pixel value in the neighbourhood, (i.e. the middle element when they are sorted.
• Median filters are particularly useful in removing impulse noise, also known as salt-and-pepper.
Noisy image Averaging 3x3 filter Median 3x3 filter
![Page 65: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/65.jpg)
Example – Effect of different order statistics filters
Adding Noise
3x3 median 3x3 max 3x3 min
![Page 66: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/66.jpg)
Add noise to images
![Page 67: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/67.jpg)
Sharpening Spatial Filters
Integration inverts differentiation and as before, we need a digitized version of derivatives.
.)()(0r
dwwprTs
• Sharpening aims to highlight fine details (e.g. edges) in an image, or enhance detail that has been blurred through errors or imperfect capturing devices.
• Image blurring can be achieved using averaging filters, and hence sharpening can be achieved by operators that invert averaging operators.
• In mathematics averaging is equivalent to the concept of integration along the gray level range:
![Page 68: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/68.jpg)
Derivatives of Digital functions of 2 variables
• The first derivative is 0 along flat segments (i.e. constant gray values) in the specified direction.
• It is non-zero at the outset and end of sudden image discontinuities (edges or noise) or along segments of continuing changes (i.e. ramps) .
).,()1,( and ),,(),1( yxfyxfy
fyxfyxf
x
f
• As we deal with images, which are represented by digital function of two variables, then we use the notion of partial derivatives rather than ordinary derivatives.
• The first order partial derivatives of the digital image f(x,y) in the x and in the y directions at (x,y) pixel are:
![Page 69: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/69.jpg)
2nd order Derivatives & the Laplacian operator
• Other second order partial derivatives can be defined similarly, but we will not use here.
• The Laplacian operator of an image f(x,y) is:
).,(2)1,()1,()(
and ),,(2),1(),1()(
2
2
2
2
yxfyxfyxfy
yf
y
f
yxfyxfyxfxx
f
x
f
• The first derivative of a digital function f(x,y) is another digital image and thus we can define 2nd derivatives:
.2
2
2
22
y
f
x
ff
![Page 70: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/70.jpg)
Digital derivatives –Example
2
2
xf
xf
steps. level-grayat response double a roduces but
step, level-gray toresponsestronger have 2.
edges. thin detects whileedges thick detects Thus
ends. itsat 0 but ramp, entire thealong 0.1
2
2
2
2
2
2
px
f
xf
xf
xf
xf
xf
![Page 71: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/71.jpg)
The Laplacian Filter
• The Laplacian operator, applied to an Image can be implemented by the 3x3 filter:
• Image enhancement is the result of applying the difference operator:
.
010
141
010
)(2
f
.
010
151
010
)()( 2
fffLap
![Page 72: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/72.jpg)
Laplacian filter –Example
Note the enhanced details after applying the Laplacian filter.
Original Image Image after Laplacian filer
![Page 73: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/73.jpg)
Example
Laplacian Operator
Laplacian Enhanced
Image = f - 2f.
![Page 74: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/74.jpg)
Combining various enhancement filters
• The effect of the various spatial enhancement schemes doesn’t always match the expectation, and depends on input image properties.
e.g. histogram equalization introduces some noise.
• The application of any operator at any pixel does not depend on the position of the pixel, while the desired effect is often reqired in certain regions.
e.g. an averaging filters blurs smooth areas as well as significant feature regions.
• Enhancing an image is often a trial & error process.
In practice one may have to combine few such operations in an iterative manner .
In what follows we try few combined operations.
![Page 75: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/75.jpg)
Combining Laplacian and HE
HEChris HELAPChrisLAPHEChris
LAPChris
![Page 76: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/76.jpg)
Combined Laplacian & HE
(a) Original, (b) After HE, (c) After Laplacian, (d) HE after Laplacian
(a)
(c) (d)
(b)
![Page 77: Digital Image Processing_ ch2 enhancement spatial-domain](https://reader036.vdocuments.net/reader036/viewer/2022081414/54b4cd664a795907598b463a/html5/thumbnails/77.jpg)
End of Chapter 3