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

Spatial Domain-Filtering

The document discusses various image enhancement techniques, including spatial and frequency domain methods. Key techniques covered include point operations, mask operations, contrast stretching, thresholding, brightness enhancement, log transformation, and power law transformation, along with their respective MATLAB implementations. Additionally, it addresses histogram processing methods like histogram equalization and matching for improving image contrast and appearance.

Uploaded by

royeh85261
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Spatial Domain-Filtering

The document discusses various image enhancement techniques, including spatial and frequency domain methods. Key techniques covered include point operations, mask operations, contrast stretching, thresholding, brightness enhancement, log transformation, and power law transformation, along with their respective MATLAB implementations. Additionally, it addresses histogram processing methods like histogram equalization and matching for improving image contrast and appearance.

Uploaded by

royeh85261
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 119

Image Enhancement

❖Image Enhancement is the process of


manipulating an image so that the result is
more suitable than the original for a specific
application.
❖Image enhancement
❑Spatial Domaincan be done in :
❑Frequency Domain

❖ Spatial Domain Transformation are :


❑Point operations
❑Mask Operations
DIGITAL IMAGE PROCESSING 1
Spatial Domain Process

1/22/2025 2
Point Operation
❖ Operation deals with pixel intensity values
individually.
❖ The intensity values are altered using particular
transformation techniques as per the requirement.
❖ The transformed output pixel value does not depend
on any of the neighbouring pixel value of the input
Examples:
image.
❑ Image Negative.
❑ Contrast Stretching.
❑ Thresholding.
❑ Brightness Enhancement.
❑ Log Transformation.
❑ Power Law Transformation.

DIGITAL IMAGE PROCESSING 3


Mask Operation

❖ Mask is a small matrix useful for blurring,


sharpening, edge-detection and more.

❖New image is generated by multiplying the


input image with the mask matrix.

❖The output pixel values thus depend on the


neighbouring input pixel values.

❖The mask may be of any dimension 3X3 4X4


DIGITAL IMAGE PROCESSING 4

….
Mask Operation

DIGITAL IMAGE PROCESSING 5


Transfer function for different Intensity
Transformations

Transfer function
of
a) Negative
b) Log
c) Nth root
d) Identity
DIGITAL IMAGE PROCESSING
e) Nth power 6

f) Inverse log
Image Negative

❖ Negative images are useful for enhancing


white or grey detail embedded in dark regions
of an image.

❖ The negative of an image with gray levels in


the range [0,L-1] is obtained by using the
expression
s = L -1 - r
L-1 = Maximum pixel value .
r = Pixel value of an image.
DIGITAL IMAGE PROCESSING 7
Example: Image Negatives

Small
lesion

1/22/2025 8
Image Negative

Original Image Image


negative
DIGITAL IMAGE PROCESSING 9
Image Negative

Matlab % program for image enhancement using


image negative
code : clear all
clc
close all
a=imread('clown.png');
[m,n]=size(a);
for i=1:1:m
for j=1:1:n
b(i,j)=255-a(i,j);
end
end
subplot(1,2,1),subimage((a)),title('Original
Image');
subplot(1,2,2),subimage((b)),title('Image
after image negative transformation')

DIGITAL IMAGE PROCESSING 10


Image Negative

Output
screen:

DIGITAL IMAGE PROCESSING 11


Contrast Stretching
❑ Contrast basically the difference between
the intensity values of darker and brighter
pixels .
❑ Contrast stretching expands the range of
❑ intensity levels inisan
Contrast stretching image.
done in three ways:
❖ Multiplying each input pixel intensity value with a
constant scalar.
Example: s=2*r
❖ Using Histogram Equivalent
❖ Applying a transform which makes dark portion
darker by assigning slope of < 1 and bright portion
brighter by assigning slope of > 1.
DIGITAL IMAGE PROCESSING 12
Contrast Stretching (Using Transfer
Function)

Formulation is given below:


s = l*r ; for 0 <= r
<= a
= m(r-a) + v ; for a < r <=
b DIGITAL IMAGE PROCESSING 13

= n(r-b) + w ; for b < r


Contrast Stretching

Original Contrast Enhanced


Image Image
DIGITAL IMAGE PROCESSING 14
Contrast Stretching
Contrast Stretching By Multiplication of each pixel with
a scalar. % program to increase the contrast of an
image
Matlab code: x=input('Enter the factor which contrast
should be increased');
a=imread('clown.png');
[m,n]=size(a);
for i=1:1:m
for j=1:1:n
b(i,j)=a(i,j)*x;
end
end
subplot(1,2,1),subimage(a),title('Original
Image');
subplot(1,2,2),subimage(b),title('contrast
Image'),xlabel(sprintf('Contrast increased by
a factor of %g',x));
DIGITAL IMAGE PROCESSING 15
Contrast Stretching

Output
screen:

DIGITAL IMAGE PROCESSING 16


Contrast Stretching
Contrast Stretching by using threshold function.
Matlab code: % program to increase the contrast of an
image
x=input('Enter the factor which contrast
should be increased');
a=imread('clown.png');
[m,n]=size(a);
for i=1:1:m
for j=1:1:n
if(a(i,j)<50)
b(i,j)=a(i,j);%slope of transfer function
between i/p and o/p is 1
elseif (a(i,j)>200)
b(i,j)=a(i,j);
else
b(i,j)=a(i,j)*x;%slope of transfer function
between i/p and o/p is x.Hence contrast of
some DIGITAL
particular pixel value range increased
IMAGE PROCESSING 17
Contrast Stretching

Matlab code:
end
end
end
subplot(1,2,1),subimage(a),title('Original
Image');
subplot(1,2,2),subimage(b),title('contrast
Image'),xlabel(sprintf('Contrast increased by a
factor of %g in the range 50 to 200',x));

DIGITAL IMAGE PROCESSING 18


Contrast Stretching

Output
screen:

DIGITAL IMAGE PROCESSING 19


Contrast Stretching
Contrast Stretching By Histogram Equalisation.
Matlab % program to increase the contrast of an image by
histogram equivalent
code :
a=imread('clown.png');
b=histeq(a);
subplot(2,2,1),subimage(a),title('Original Image');
subplot(2,2,2),subimage(b),title('contrast
Image'),xlabel(sprintf('Contrast increased by
Histogram equivalent'));
subplot(2,2,3),imhist(a),title('Histogram of Original
Image');
subplot(2,2,4),imhist(b),title('Histogram of Contrast
Image');

DIGITAL IMAGE PROCESSING 20


Contrast Stretching

Output
screen :

DIGITAL IMAGE PROCESSING 21


Thresholding

❖ Extreme Contrast Stretching yields


Thresholding.

❖ Thresholded image has maximum contrast


as it has only BLACK & WHITE gray values.

❖ In Contrast Stretching figure, if l & n slope


are made ZERO & if m slope is increased
then we get Thresholding Transformation

❖ If r1 = r2, s1 = 0 & s2 = L-1 ,then we get


DIGITAL IMAGE PROCESSING 22
Thresholding function.
Thresholding Function

Expression goes as
under:
s = 0; if r = a
s = L – 1 ; if r >a
where, L is
number of gray
levels.
DIGITAL IMAGE PROCESSING 23
Thresholding

Original Transformed Image


Image
DIGITAL IMAGE PROCESSING 24
Thresholding

Matlab % program for image thresholding


a=imread('pout.tif');
code: [m,n]=size(a);
for i=1:1:m
for j=1:1:n
if(a(i,j)<125)
b(i,j)=0;%pixel values below 125 are mapped
to zero
else
b(i,j)=255;%pixel values equal or above 125 are
mapped to 255
end
end
end
subplot(1,2,1),subimage(a),title('Original Image');
subplot(1,2,2),subimage(b),title('threshold Image');

DIGITAL IMAGE PROCESSING 25


Thresholding

Output
screen:

DIGITAL IMAGE PROCESSING 26


Brightness Enhancement

❖Brightness Enhancement is shifting of


intensity values to a higher level.
❖The darker and the lighter pixels both get
their values shifted by some constant
value.
❖ Example : In x-ray images brightness can
be enhanced to find the darker spots.
DIGITAL IMAGE PROCESSING 27
Brightness Enhancement

Matlab % program to increase the brightness of an image


x=input('Enter the factor which brightness should be
code : increased');
a=imread('clown.png');
[m,n]=size(a);
for i=1:1:m
for j=1:1:n
b(i,j)=a(i,j)+x;
end
end
subplot(1,2,1),subimage(a),title('Original Image');
subplot(1,2,2),subimage(b),title('Brighter
Image'),xlabel(sprintf('Brightness increased by a factor
of %g',x));

DIGITAL IMAGE PROCESSING 28


Brightness Enhancement

Output
screen:

DIGITAL IMAGE PROCESSING 29


Log Transformation
❖ The log transformation is given by the expression
s = c log(1 + r)
where c is a constant and it is assumed that r≥0.
❖ This transformation maps a narrow range of low-
level grey scale intensities into a wider range of
output values.
❖ Similarly maps the wide range of high-level grey
scale intensities into a narrow range of high level
output values.
❖ This transform is used to expand values of dark
pixels and compress values of bright pixels.
DIGITAL IMAGE PROCESSING 30
Logarithmic Transformation Contd…

Original Image Transformed Image

DIGITAL IMAGE PROCESSING 31


Log Transformation

Matlab % program for image enhancement using logarithmic


transformation
code: A=input('Enter the value of constant A');
a=imread('clown.jpg');
a=rgb2gray(a);
[m,n]=size(a);
a=double(a);
for i=1:1:m
for j=1:1:n
b(i,j)=A*log(1+a(i,j));
end
end
figure,subplot(1,2,1),subimage(uint8(a)),title('Origina
l Image');
subplot(1,2,2),subimage(uint8(b)),title('Image after
logarithmic transformation'),xlabel(sprintf('Constant
is %g',A));
DIGITAL IMAGE PROCESSING 32
Log Transformation

Output
screen:

DIGITAL IMAGE PROCESSING 33


Power Law Transformation
Expression for power law transformation is
given by: s = c *(r γ )
s is the output pixels value.
r is the input pixel value.
c and γ are real numbers.
❑For various values of γ different levels of
enhancements can be obtained.
❑ This technique is quite commonly called
as Gamma Correction , used in monitor
displays.
DIGITAL IMAGE PROCESSING 34
Power Law Transformation
❖ Different display monitors display images at different
intensities and clarity because every monitor has
built-in gamma correction in it with certain gamma
ranges .
❖ A good monitor automatically corrects all the images
displayed on it for the best contrast to give user the
best experience.
❖ The difference between the log-transformation
function and the power-law functions is that using
the power-law function a family of possible
transformation curves can be obtained just by
varying the γ .
DIGITAL IMAGE PROCESSING 35
Power Law Transformation
A B
A : original
image
For c=1
B : γ =3.0
C : γ =4.0
C D D : γ =5.0

36
Power Law Transformation

Matlab
% program for image enhancement using power
code: law
A=input('Enter the value of constant A');
x=input('Enter the value of power x');
a=imread('clown.png');
[m,n]=size(a);
for i=1:1:m
for j=1:1:n
b(i,j)=A*(a(i,j)^x);
end
end
subplot(1,2,1),subimage(a),title('Original Image');
subplot(1,2,2),subimage(b),title('Image after
power law
transformation'),xlabel(sprintf('Constant is %g\
nPower is %g',A,x));
DIGITAL IMAGE PROCESSING 37
Power Law Transformation

Output
screen:

DIGITAL IMAGE PROCESSING 38


Bit Plane Slicing
►Instead of highlighting intensity
ranges, highlighting the contribution
made to the total image appearance
by specific bit might be desired.
►Imagine that the image is composed
of eight 1-bit planes, ranging from
plane 0 for least significant bit to plane
7 for the most significant bit.
►Bit-plane slicing reveals that only the
five highest order bits contain visually
significant data. Also, note that plane
7, corresponds exactly with an image
threshold at gray-level 128.
Bit-plane Slicing

1/22/2025 41
Bit-plane Slicing

1/22/2025 42
Bit-plane Slicing

1/22/2025 43
Histogram Processing

► Histogram Equalization

► Histogram Matching

► Local Histogram Processing

► Using Histogram Statistics for Image Enhancement

1/22/2025 44
Histogram Processing

1/22/2025 45
1/22/2025 46
Histogram Equalization
► Histogram equalization is a method in image
processing of contrast adjustment using
the image's histogram.
► This method usually increases the global contrast of
many images, especially when the usable data of
the image is represented by close contrast values.
► Through this adjustment, the intensities can be
better distributed on the histogram.
► This allows for areas of lower local contrast to gain a
higher contrast.
► Histogram equalization accomplishes this by
effectively spreading out the most frequent intensity
values.
Weeks 1 & 2 47
Histogram Equalization

Weeks 1 & 2 48
Histogram Equalization

1/22/2025 49
Histogram Equalization

1/22/2025 50
Histogram Equalization

1/22/2025 51
Histogram Equalization

1/22/2025 52
Example

1/22/2025 53
Example

1/22/2025 54
Histogram Equalization

1/22/2025 55
Example: Histogram Equalization
Suppose that a 3-bit image (L=8) of size 64 × 64 pixels (MN
= 4096) has the intensity distribution shown in following
table.
Get the histogram equalization transformation function and
give the ps(sk) for each sk.

1/22/2025 56
Example: Histogram Equalization

1/22/2025 57
Example: Histogram Equalization

1/22/2025 58
1/22/2025 59
1/22/2025 60
Question
Is histogram equalization always
good?

No

1/22/2025 61
Histogram Matching
Histogram matching (histogram
specification)
— generate a processed image that has a specified
histogram

1/22/2025 62
Histogram Matching

1/22/2025 63
Histogram Matching: Procedure

► Obtain pr(r) from the input image and then obtain the
values of s

► Use the specified PDF and obtain the transformation


function G(z)

► Mapping from s to z

1/22/2025 64
Histogram Matching: Example

Assuming continuous intensity values, suppose that an


image has the intensity PDF

Find the transformation function that will produce an


image whose intensity PDF is

1/22/2025 65
Histogram Matching: Example

Find the histogram equalization transformation for the input


image

Find the histogram equalization transformation for the specified


histogram

The transformation function

1/22/2025 66
Histogram Matching: Discrete Cases

► Obtain pr(rj) from the input image and then obtain the
values of sk, round the value to the integer range [0, L-1].

► Use the specified PDF and obtain the transformation


function G(zq), round the value to the integer range [0, L-
1].

► Mapping from sk to zq

1/22/2025 67
Example: Histogram Matching
Suppose that a 3-bit image (L=8) of size 64 × 64 pixels (MN
= 4096) has the intensity distribution shown in the following
table (on the left). Get the histogram transformation function
and make the output image with the specified histogram,
listed in the table on the right.

1/22/2025 68
Example: Histogram Matching

Obtain the scaled histogram-equalized values,

Compute all the values of the transformation function G,

1/22/2025 69
Example: Histogram Matching

1/22/2025 70
Example: Histogram Matching

Obtain the scaled histogram-equalized values,

Compute all the values of the transformation function G,

s0 s1
s2 s3
s4 s5 s6 s7

1/22/2025 71
Example: Histogram Matching

1/22/2025 72
Example: Histogram Matching

1/22/2025 73
Example: Histogram Matching

1/22/2025 74
Example: Histogram Matching

1/22/2025 75
Example: Histogram Matching

1/22/2025 76
Local Histogram Processing

Define a neighborhood and move its center from


pixel to pixel

At each location, the histogram of the points in the


neighborhood is computed. Either histogram
equalization or histogram specification
transformation function is obtained

Map the intensity of the pixel centered in the


neighborhood

Move to the next location and repeat the procedure


1/22/2025 77
Local Histogram Processing: Example

1/22/2025 78
Using Histogram Statistics for Image
Enhancement
Average
Intensity

Varianc
e

1/22/2025 79
Using Histogram Statistics for Image
Enhancement

1/22/2025 80
Using Histogram Statistics for Image
Enhancement: Example

1/22/2025 81
Spatial Filtering

A spatial filter consists of (a) a neighborhood, and


(b) a predefined operation

Linear spatial filtering of an image of size MxN with


a filter of size mxn is given by the expression

1/22/2025 82
Spatial Filtering

1/22/2025 83
Spatial Correlation

1/22/2025 84
Spatial Convolution

1/22/2025 85
1/22/2025 86
Smoothing Spatial Filters

Smoothing filters are used for blurring and for noise


reduction

Blurring is used in removal of small details and


bridging of small gaps in lines or curves

Smoothing spatial filters include linear filters and


nonlinear filters.

1/22/2025 87
Spatial Smoothing Linear Filters

1/22/2025 88
Two Smoothing Averaging Filter Masks

1/22/2025 89
Two Smoothing Averaging Filter Masks

A=
3 3 2 3
2 2 7 2
2 3 2 3
2 2 3 3

h=
ones(3,3)/9;
0.1111 0.1111 0.1111
0.1111 0.1111 0.1111
0.1111 0.1111 0.1111
1/22/2025 90
I2 = imfilter (A,
h);
A=
3 3 2 3
2 2 7 2
2 3 2 3 1 2 2 2
2 3 3 2
2 2 3 3
1 3 3 2
1 2 2 1
0.1111 0.1111 0.1111
0.1111 0.1111 0.1111
0.1111 0.1111 0.1111

1/22/2025 91
1/22/2025 92
Smoothing Filters: Averaging
(cont’d)
► Mask size determines the degree of smoothing
(loss of detail).
origin 3x3 5x5 7x7
al

15x15 25x25
Smoothing Filters: Averaging
(cont’d)
Example: extract largest, brightest objects

15 x 15 image
averaging thresholding
Example: Gross Representation of Objects

1/22/2025 95
Order-statistic (Nonlinear) Filters

— Nonlinear

— Based on ordering (ranking) the pixels contained


in the filter mask

— Replacing the value of the center pixel with the


value determined by the ranking result

E.g., median filter, max filter, min filter

1/22/2025 96
Smoothing Filters: Median Filtering
(cont’d)
►Replace each pixel by the median
in a neighborhood around the
pixel.
Example: Use of Median Filtering for Noise
Reduction

1/22/2025 98
Sharpening Spatial Filters

► Foundation

► Laplacian Operator

► Unsharp Masking and Highboost Filtering

► Using First-Order Derivatives for Nonlinear Image


Sharpening — The Gradient

1/22/2025 99
Sharpening Spatial Filters: Foundation

► The first-order derivative of a one-dimensional


function f(x) is the difference

► The second-order derivative of f(x) as the difference

1/22/2025 100
1/22/2025 101
Sharpening Spatial Filters: Laplace Operator

The second-order isotropic derivative operator is the


Laplacian for a function (image) f(x,y)

1/22/2025 102
Sharpening Spatial Filters: Laplace Operator

1/22/2025 103
Sharpening Spatial Filters: Laplace Operator

Image sharpening in the way of using the Laplacian:

1/22/2025 104
1/22/2025 105
Unsharp Masking and Highboost Filtering

► Unsharp masking
Sharpen images consists of subtracting an unsharp
(smoothed) version of an image from the original image
e.g., printing and publishing industry

► Steps
1. Blur the original image
2. Subtract the blurred image from the original
3. Add the mask to the original

1/22/2025 106
Unsharp Masking and Highboost Filtering

1/22/2025 107
Unsharp Masking: Demo

1/22/2025 108
Unsharp Masking and Highboost Filtering:
Example

1/22/2025 109
Image Sharpening based on First-Order
Derivatives

Gradient
Image
1/22/2025 110
Image Sharpening based on First-Order
Derivatives

z1 z2 z3
z4 z5 z6
z7 z8 z9
1/22/2025 111
Image Sharpening based on First-Order
Derivatives

z1 z2 z3
z4 z5 z6
z7 z8 z9
1/22/2025 112
Image Sharpening based on First-Order
Derivatives

1/22/2025 113
Example

1/22/2025 114
Example:

Combining
Spatial
Enhancement
Methods

Goal:

Enhance the
image by
sharpening it
and by
bringing out
more of the
skeletal detail
1/22/2025 115
Example:

Combining
Spatial
Enhancement
Methods

Goal:

Enhance the
image by
sharpening it
and by
bringing out
more of the
skeletal detail
1/22/2025 116
Question: 1

117
118
Question 2

119

You might also like