Professional Documents
Culture Documents
MAN 325
Autumn Semester 2020-21
Mathematical Imaging
Techniques
Sources:
Gonzalez, R. C. and Woods, R. E., "Digital Image Processing", Prentice Hall,
CS 589-04 Digital Image Processing@ nmt
Image Enhancement
g ( x, y ) T [ f ( x, y )])
f ( x, y ) : input image
g ( x, y ) : output image
T : an operator on f defined over
a neighborhood of point ( x, y)
02/04/2023 3
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 image.
Examples:
Image Negative.
Contrast Stretching.
Thresholding.
Brightness Enhancement.
Log Transformation.
Power Law Transformation.
Transfer function of
a) Negative
b) Log
c) Nth root
d) Identity
e) Nth power
DIGITAL IMAGE PROCESSING
f) Inverse log 7
Image Negative
Small
lesion
02/04/2023 9
Image Negative
Output screen:
Output screen:
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));
Output screen:
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');
Output screen :
Output screen:
Output screen:
Output screen:
37
Power Law Transformation
Matlab code:
% program for image enhancement using power 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));
Output screen:
02/04/2023 42
Bit-plane Slicing
02/04/2023 43
Bit-plane Slicing
02/04/2023 44
Histogram Processing
► Histogram Equalization
► Histogram Matching
02/04/2023 45
Histogram Processing
Histogram h(rk ) nk
rk is the k th intensity value
nk is the number of pixels in the image with intensity rk
nk
Normalized histogram p( rk )
MN
nk : the number of pixels in the image of
size M N with intensity rk
02/04/2023 46
02/04/2023 47
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 48
Histogram Equalization
Weeks 1 & 2 49
Histogram Equalization
The intensity levels in an image may be viewed as
random variables in the interval [0, L-1].
Let pr ( r ) and ps ( s) denote the probability density
function (PDF) of random variables r and s.
02/04/2023 50
Histogram Equalization
s T (r ) 0 r L 1
02/04/2023 51
Histogram Equalization
s T (r ) 0 r L 1
ps ( s )ds pr (r )dr
02/04/2023 52
Histogram Equalization
r
s T (r ) ( L 1) pr ( w)dw
0
ds dT ( r ) d r
dr
dr
( L 1)
dr 0
pr ( w) dw
( L 1) pr (r )
pr (r )dr pr (r ) pr (r ) 1
ps ( s )
ds ds ( L 1) pr (r ) L 1
dr
02/04/2023 53
Example
Suppose that the (continuous) intensity values
in an image have the PDF
2r
2
, for 0 r L-1
pr (r ) ( L 1)
0, otherwise
02/04/2023 54
Example
r
s T (r ) ( L 1) pr ( w)dw
0
r 2w
( L 1) 2
dw
0 ( L 1)
2
r
L 1
02/04/2023 55
Histogram Equalization
Continuous case:
r
s T (r ) ( L 1) pr ( w)dw
0
Discrete values:
k
sk T (rk ) ( L 1) pr (rj )
j 0
k nj L 1 k
( L 1) nj k=0,1,..., L-1
j 0 MN MN j 0
02/04/2023 56
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.
02/04/2023 57
Example: Histogram Equalization
0
s0 T (r0 ) 7 pr (rj ) 7 0.19 1.33 1
j 0
1
s1 T (r1 ) 7 pr (rj ) 7 (0.19 0.25) 3.08 3
j 0
s2 4.55 5 s3 5.67 6
s4 6.23 6 s5 6.65 7
s6 6.86 7 s7 7.00 7
02/04/2023 58
Example: Histogram Equalization
02/04/2023 59
02/04/2023 60
02/04/2023 61
Question
Is histogram equalization always good?
No
02/04/2023 62
Histogram Matching
Histogram matching (histogram specification)
— generate a processed image that has a specified histogram
Let pr ( r ) and pz ( z ) denote the continous probability
density functions of the variables r and z. p z ( z ) is the
specified probability density function.
Let s be the random variable with the probability
r
s T ( r ) ( L 1) pr ( w) dw
0
1
z G (s) G 1
T (r )
02/04/2023 64
Histogram Matching: Procedure
► Obtain pr(r) from the input image and then obtain the values of s
r
s ( L 1) pr ( w)dw
0
► Use the specified PDF and obtain the transformation function G(z)
z
G ( z ) ( L 1) pz (t )dt s
0
► Mapping from s to z
z G 1 ( s )
02/04/2023 65
Histogram Matching: Example
z z 3t 2 z3
G ( z ) ( L 1) pz (t )dt ( L 1) 3
dt 2
s
0 0 ( L 1) ( L 1)
The transformation function
2 1/3
2 1/3 2 r 2 1/3
z ( L 1) s ( L 1) ( L 1)r
L 1
02/04/2023 67
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].
k
( L 1) k
sk T (rk ) ( L 1) pr (rj ) nj
j 0 MN j 0
► Use the specified PDF and obtain the transformation function
G(zq), round the value to the integer range [0, L-1].
q
G ( zq ) ( L 1) pz ( zi ) sk
i 0
► Mapping from sk to zq
zq G 1 ( sk )
02/04/2023 68
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.
02/04/2023 69
Example: Histogram Matching
s0 1, s1 3, s2 5, s3 6, s4 7,
s5 7, s6 7, s7 7.
Compute all the values of the transformation function G,
0
G ( z0 ) 7 pz ( z j ) 0.00 0
j 0
G ( z1 ) 0.00 0 G( z2 ) 0.00 0
G ( z3 ) 1.05 1 G( z4 ) 2.45 2
G ( z5 ) 4.55 5 G ( z6 ) 5.95 6
G ( z7 ) 7.00 7
02/04/2023 70
Example: Histogram Matching
02/04/2023 71
Example: Histogram Matching
s0 1, s1 3, s2 5, s3 6, s4 7,
s5 7, s6 7, s7 7.
Compute all the values of the transformation function G,
0
G ( z0 ) 7 pz ( z j ) 0.00 0
j 0
G ( z1 ) 0.00 0 G( z2 ) 0.00 0
G ( z3 ) 1.05 1 s0 G( z4 ) 2.45 2 s1
G ( z5 ) 4.55 5 s2 G ( z6 ) 5.95 6 s3
G ( z7 ) 7.00 7 s4 s5 s 6 s 7
02/04/2023 72
Example: Histogram Matching
s0 1, s1 3, s2 5, s3 6, s4 7,
s5 7, s6 7, s7 7.
rk
0
1
2
3
4
5
02/04/2023 6 73
7
Example: Histogram Matching
rk zq
03
1 4
25
36
47
57
67
77
02/04/2023 74
Example: Histogram Matching
02/04/2023 75
Example: Histogram Matching
02/04/2023 76
Example: Histogram Matching
02/04/2023 77
Local Histogram Processing
02/04/2023 78
Local Histogram Processing: Example
02/04/2023 79
Using Histogram Statistics for Image
Enhancement
Average Intensity L 1
1 M 1 N 1
m ri p (ri )
MN
f ( x, y )
x 0 y 0
i 0
L 1
un (r ) (ri m) n p( ri )
i 0
Variance L 1
1 M 1 N 1
u2 (r ) (ri m) f ( x, y ) m
2 2 2
p(ri )
i 0
MN x 0 y 0
02/04/2023 80
Using Histogram Statistics for Image
Enhancement
Local variance
L 1
s2xy (ri msxy ) 2 psxy (ri )
i 0
02/04/2023 81
Using Histogram Statistics for Image
Enhancement: Example
02/04/2023 82
Spatial Filtering
a b
g ( x, y ) w(s, t ) f ( x s, y t )
s a t b
02/04/2023 83
Spatial Filtering
02/04/2023 84
Spatial Correlation
a b
w( x, y ) f ( x, y ) w( s, t ) f ( x s, y t )
s a t b
02/04/2023 85
Spatial Convolution
a b
w( x, y ) f ( x, y ) w(s, t ) f ( x s, y t )
s a t b
02/04/2023 86
02/04/2023 87
Smoothing Spatial Filters
02/04/2023 88
Spatial Smoothing Linear Filters
w(s, t ) f ( x s, y t )
g ( x, y ) s a t b
a b
w(s, t )
s a t b
where m 2a 1, n 2b 1.
02/04/2023 89
Two Smoothing Averaging Filter Masks
02/04/2023 90
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
02/04/2023 91
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
02/04/2023 92
02/04/2023 93
Smoothing Filters: Averaging
(cont’d)
► Mask size determines the degree of smoothing (loss of
detail).
original 3x3 5x5 7x7
15x15 25x25
Smoothing Filters: Averaging
(cont’d)
Example: extract largest, brightest objects
02/04/2023 96
Order-statistic (Nonlinear) Filters
— Nonlinear
02/04/2023 97
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
02/04/2023 99
Sharpening Spatial Filters
► Foundation
► Laplacian Operator
02/04/2023 100
Sharpening Spatial Filters: Foundation
f
f ( x 1) f ( x)
x
2 f
2
f ( x 1) f ( x 1) 2 f ( x)
x
02/04/2023 101
02/04/2023 102
Sharpening Spatial Filters: Laplace Operator
02/04/2023 104
Sharpening Spatial Filters: Laplace Operator
g ( x, y ) f ( x, y ) c 2 f ( x, y )
where,
f ( x, y ) is input image,
g ( x, y ) is sharpenend images,
c -1 if 2 f ( x, y ) corresponding to Fig. 3.37(a) or (b)
and c 1 if either of the other two filters is used.
02/04/2023 105
02/04/2023 106
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
02/04/2023 107
Unsharp Masking and Highboost Filtering
02/04/2023 108
Unsharp Masking: Demo
02/04/2023 109
Unsharp Masking and Highboost Filtering: Example
02/04/2023 110
Image Sharpening based on First-Order Derivatives
M ( x, y ) | g x | | g y |
z1 z2 z3
M ( x, y ) | z8 z5 | | z6 z5 |
z4 z5 z6
z7 z8 z9
02/04/2023 112
Image Sharpening based on First-Order Derivatives
Sobel Operators
M ( x, y ) | ( z7 2 z8 z9 ) ( z1 2 z2 z3 ) |
z1 z2 z3 | ( z3 2 z6 z9 ) ( z1 2 z4 z7 ) |
z4 z5 z6
z7 z8 z9
02/04/2023 113
Image Sharpening based on First-Order Derivatives
02/04/2023 114
Example
02/04/2023 115
Example:
Combining
Spatial
Enhancement
Methods
Goal:
Enhance the
image by
sharpening it
and by bringing
out more of the
skeletal detail
02/04/2023 116
Example:
Combining
Spatial
Enhancement
Methods
Goal:
Enhance the
image by
sharpening it
and by bringing
out more of the
skeletal detail
02/04/2023 117