Professional Documents
Culture Documents
IMAGE TRANSFORMS
By
Dr. Suvendu Rup
CSE Dept. IIIT Bhubaneswar
Image Transforms
2
Y=AX
X=A-1Y
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Applications
3
Preprocessing
Filtering
Enhancement
Image Compression
Feature Extraction
Edge detection
Corner detection
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Unitary Matrix
4
−1
A =
A A *T H
Hermitian conjugate
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Properties of Unitary Transform y =Ax
5
Energy Conservation
|| y ||2 = || x ||2
Rotation
A unitary transformation is a rotation of a vector in an N-
dimension space, i.e., a rotation of basis coordinates
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
6
Energy Compaction
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
What is orthogonal ?
7
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Example
8
{sinωt, sin2ωt}
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Orthogonal Expansion
9
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
10
x (t ) = c a
n =0
n n (t ), t 0 t t 0 + T
x(t )a
T
m (t ) dt = c a
T n =0
n n (t ) am (t ) dt
= c0 a0 (t ) am (t ) dt +
T
c1 a1 (t ) am (t ) dt + ... +
T
cm am (t ) am (t ) dt + ...
T
x(t )a m
(t ) dt = kcm x(t )am(t )dt = cm, if k = 1
T
T
Orthonormal Set
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Complete, Closed(orthogonal
11
functions)
There is no signal x(t) with x 2 (t )dt
T
such that
x(t )a (t )dt = 0, n = 0,1,..
T
n
T N −1
xˆ (t ) = cn an (t )
n =0
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Discrete Formulation
12
v= Au
Transformed vector
Transformation matrix
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
13
i.e.,
k
(a a (k , n ), 0 n N − 1 )
T
are called the basis vectors of A
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Example
14
Inverse Transform
N −1 N −1
u (m, n) = ak,l (m, n)v(k , l ) 0 m, n N − 1
k =0 l =0
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
16
ak ,l (m, n) Orthonormality
N −1 N −1
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Computational Complexity
17
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Separable Transforms
18
V = AU A T
V T = A [ AU ]T
These are called 2D separable transformation
The 2D transform can be performed first by transforming each column of U
and then transforming each row of the result to obtain rows of V
complexity is 2N3
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Concept of Basis Images
19
Let ak denotes the kth column of AT
Define the matrices
T
A =a a
k ,l k l
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Concept of Basis Images
20
1 1 1 1 2
A=
U =
2 1 − 1 3 4
1 1 1 1 2 1 1
Transformed Image V =
2 1 − 1 3 4 1 − 1
1 4 6 1 1
=
2 − 2 − 2 1 − 1
5 − 1
=
− 2 0
T 1 1 − 1 5 − 11
1
A VA =
2 1 − 1 − 2 0 1 − 1
1 3 − 11 − 1 1 2
= =
2 7 − 11 − 1 3 4
= U Original Image
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Some Transformation Techniques
23
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Fourier Transform (1D)
24
W( f ) = X( f )+ j Y( f )
W ( f ) = W ( f ) e j ( f ) Frequency, [Hz]
Phase
Amplitude Spectrum
Spectrum
◼ Inverse DFT
N −1 2
1 j nk
x[n] =
N
X [K ] e
K =0
N
; n = 0, 1, 2,….., N-1
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
2D – Discrete Fourier Transform
26
N −1 N −1 ux vy
j 2 +
f ( x, y ) =
1
N
F (u, v)e
u =0 v =0
N N
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
27
N −1 N −1
f ( x, y )wNux + vy
1
F (u , v) =
N
x =0 y =0
N −1 N −1
f ( x, y ) =
1
N
F (u ,
u =0 v =0
v ) wN
− (ux + vy )
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
28
I (u , v )
Phase: (u , v) = tan −1
R (u , v )
Power Spectrum: E (u , v) = R 2 (u , v ) + I 2 (u , v )
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Amplitude and Phase
29
F (x)
amplitude
phase
original
F (x)
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Images and their spectrums
30
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Properties of 2-D Fourier Transform
31
• Separability
• Linearity
• Scaling
• Shift Theorem
• Rotation
• Periodicity and conjugation
• Convolution
• Correlation
• Average
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Separability
32
Row Column
Transforms Transforms
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Separability (contd. )
33
f(x,y) F(u,v)
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Linearity
34
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Linearity (contd..)
35
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Scaling
36
1 u v
f (ax, by ) ⎯⎯
⎯→ DFT
F ,
ab a b
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Scaling (contd..)
37
f(x,y) F(u,v)
f(2x,3y) F(u,v)
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Shift Theorem
38
f ( x , y ) exp[ j 2 (u0 x + v0 y ) / N ] F ( u − u0 , v − v 0 )
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Shift Theorem (contd..)
39
(a) a sample image (b) its spectrum (c) rotated image (d) resulting spectrum
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Periodicity and conjugation
41
Periodicity :
F(u,v) = F(u+aN,v+bN)
f (x,y) = f (x+aN,y+bN)
Conjugation:
F(u,v) = F*(-u,-v)
|F(u,v)| = |F(-u,-v)|
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Convolution
42
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Convolution (contd..)
43
m= 0 n = 0
Correlation Theorems:
f ( x , y ) g ( x , y ) F * ( u, v ) G ( u, v )
f ( x , y ) g ( x , y ) F ( u, v ) G ( u, v )
*
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Average
45
_
1
f ( x, y) = F (0,0)
N
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
and its
spectrum
46
Fast Fourier Transform
47
recursive algorithm
N → N log N
4 2
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Visualizing the DFT
48
300
250
200
150
100
50
0
0 1 2 3 4 5 6 7
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Visualizing the DFT(circular shifting)
49
300
250
200
150
100
50
0
0 1 2 3 4 5 6 7
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
DFT basis images
50
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Example
58
img=imread('lena.bmp','bmp');
subplot(121);imshow(img);
title('original image ')
fimg=fftshift(fft2(img));
subplot(122); imshow(abs(fimg)/10000)
title(' transformed image ')
original image transformed image
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Discrete Cosine Transform (DCT)
59
❑ DCT expresses a sequence of finite data points in
terms of a sum of cosine functions oscillating at
different frequencies.
❑ These cosine functions are treated as its basis
function.
❑ Fast algorithm exists.
❑ Most popular in image compression application
because of its energy compaction property.
❑ Adopted in JPEG.
❑ The periodicity implied by DCT implies that it
causes less blocking effect than DFT.
❑ Can be implemented by 2n points FFT.
Contd..
60
(2 x + 1)u (2 y + 1)v
C ( x, y, u, v) = (u ) (v) cos cos 2N
2N
where
1 2
(0) = , (i) = , 1 i N
N N
Clearly, the kernel for the DCT is both separable and
symmetric, and hence the DCT may be implemented as a
series of one dimensional DCTs.
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
61
Forward transform
N −1 N −1
(2 x + 1)u (2 y + 1)v
F (u, v) = (u ) (v) f ( x, y) cos cos
x =0 y =0 2N 2N
Inverse Transform
N −1 N −1
(2 x + 1)u (2 y + 1)v
f ( x, y) = (u ) (v) F (u, v) cos cos
u =0 v =0 2 N 2 N
where u, v, x, y = 0, 1, 2, …, N-1
Forward and inverse transformations are same
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
62
clc;
clear
N=8
x=(0:N-1)';
C=cos((2*x+1)*x'*pi/(2*N))*sqrt(2/N);
C(:,1)=C(:,1)/sqrt(2);
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Kernel matrix to generate DCT
63
Basis Images
0.353553 0.490393 0.46194 0.415735 0.353553 0.277785 0.191342 0.097545
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Basis images of an 8x8 DCT
64
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Properties of DCT
65
Separability
2D DCT/ IDCT expression shows that they are separable.
So they can be implemented as two 1-D DCT/IDCT
Fast DCT
FDCT is possible in the same manner as FFT
Periodicity
Magnitude of DCT coefficient is periodic with period 2N
Example
66
DCT Coefficients
(Zoomed) Mesh Plot
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Image Reconstruction in DCT
67
Using only 1
DCT coefficient
Using 3 DCT
coefficients
Coefficients are selected
out of 8x8 window
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
68
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Karhunen-Loeve Transform
69
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
x1
70
x
Covariance matrix of a population of vectors X = 2
:
C x = E ( X − x )( X − x )
T
xn
M
1
x =
M
X
k =1
k
y = 0
C y = AC x A T
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Example
73
Input matrix
3 4 4 4 5 5 5 6
x =
4 3 4 5 4 5 6 5
Mean Vector
4.5
x =
4.5
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
74
0.75 0.375
CX =
0.375
0.75
(0.75 − ) 2 = (0.375) 2
0.75 − = 0.375
= 0.75 0.375
1 = 1.125
2 = 0.375
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
75
Transform Matrix
→ A= 1 1 1
1 − 1
2
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd.
76
Reconstructed
X = A Y + X
T
K no of Eigen vectors
Y = Ak ( X − X )
ˆ
X = A Y +
T
k X
Ak = k n
Y = k 1
X = n 1 Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Properties of K-L Transform
77
Decorrelation
E[ y yH ]= E[ (UH x) (UH x)H ]= UH E[ x xH ] U = diag{1, 2, … , N}
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Principal Component Coefficients
78
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Image Reconstruction in K-L Transform
79
1 PC 10 PCs 20 PCs
Original image
50 PCs All PCs
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Haar Wavelet Transform
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Approach
a b a + b a − b
x = x =
c d c + d c − d
1 a +b+c + d a −b +c −d
y=
2 a +b−c −d a −b−c + d
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Example
2 2 9 5 4 14 0 4
2 0 5 2 Column wise Summation 2 7 2 3
6 7 4 7 13 11 -1 -3
3 4 8 8 7 16 -1 0
Approximation Horizontal
3 10.5 1 3.5 6 21 2 7
Finding Average
10 13.5 -1 -1.5 20 27 -2 -3
1 3.5 -1 0.5 2 7 -2 1
3 -2.5 0 -1.5 6 -5 0 -3
Vertical Diagonal
Properties of Haar transform
84
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
85
%Initialization
H=[1]; NC=1/sqrt(2);%normalization constant
LP=[1 1]; HP=[1 -1]; % iteration from H=[1]
for i=1:Level
H=NC*[kron(H,LP);kron(eye(size(H)),HP)];
end
HaarTransformationMatrix=H;
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
86
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Basis images of Haar Transform
87
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
1-step Haar Decomposition
88
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
2-step Haar Decomposition
89
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Discrete Walsh Transform (1-D)
n −1 bi ( x ) bn−1−i ( u )
1
g ( x, u ) = (−1)
N =0
i
1− D Forward Kernel
where,
N → No. of Samples
n → No. of bits needed to represent x and u
b k ( z ) → k th bit in digital representation of z
N −1 n −1 bi ( x ) bn−1−i ( u )
1
W (u ) = f ( x) (−1)
N x =0
i =0
1− D Forward Transform Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
n −1 bi ( x ) bn−1−i ( u )
h( x, u ) = (−1)
=0 Difference
i lies in
1− D Inverse Kernel Multiplicative
bi ( x ) bn−1−i ( u ) Factor
N −1 n −1
f ( x) = W (u ) (−1)
x =0
i =
0
1− D Inverse Transform
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Discrete Walsh Transform (2-D)
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Property
• Separable
1
W (u ) = [Weven (u ) + Wodd (u )]
2
1
W (u + M ) = [Weven (u ) − Wodd (u )]
2
where,
N
u = 0,1,..., − 1
2
N
M=
2
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Basis images of Walsh Transform
95
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Hadamard Transfrom
n−1
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Hadamard Matrix
n−1
1 bi ( x )bi (u )
g ( x, u ) = (−1) i=0
N
Hadamard Matrix
u
0(0) 1(7) 2(3) 3(4) 4(1) 5(6) 6(2) 7(5)
0 + + + + + + + +
1 + - + - + - + - sign changes
are not
2 + + - - + + - -
ordered (shown
3 + - - + + - - + in backet)
x
4 + + + + - - - -
5 + - + - - + - +
6 + + - - - - + +
7 + - - + - + + - Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Hadamard transform
98
1 1
H2 =
1 −1
H n = H n −1 H1
H 3 = H 2 H1 , H 2 = H1 H1
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Contd..
N=2
1 1
H2 =
1 − 1
H N HN
=
H −N
H 2N
H N
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Ordered Hadamard Transformation
n −1
1 bi ( x ) pi ( u )
g ( x, u ) = (−1) i=0
N
where,
p0 (u ) = bn −1 (u )
p1 (u ) = bn −1 (u ) + bn − 2 (u ) bi (u) is changed to pi(u)
p2 (u ) = bn − 2 (u ) + bn −3 (u )
.
.
.
pn −1 (u ) =Image u ) + b0 (u )
b1 (Transforms Ratnakar Dash,
Assistant Professor, CSE dept. of NIT Rourkela
Contd..
N=8
0 1 2 3 4 5 6 7
0 + + + + + + + +
1 + + + + - - - -
2 + + - - - - + +
3 + + - - + + - -
x
4 + - - + + - - +
5 + - - + - + + -
6 + - + - - + - +
7 + - + - + - + -
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Basis images of Hadamard Transform
102
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Properties of Hadamard Transform
103
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Similarity between Walsh and Hadamard Transform
104
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Image Reconstruction
105
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
Image Reconstruction
106
Ratnakar Dash,
Image Transforms Assistant Professor, CSE dept. of NIT Rourkela
107