SlideShare a Scribd company logo
1 of 73
1
Chapter 4:
Frequency Domain Processing
 Image Transformations
IUST
2
Contents
 Fourier Transform and DFT
 Walsh Transform
 Hadamard Transform
 Walsh-Hadamard Transform (WHT)
 Discrete Cosine Transform (DCT)
 Haar Transform
 Slant Transform
 Comparison of various Transforms
3
Introduction
 Although we discuss other transforms in
some detail in this chapter, we emphasize
the Fourier transform because of its wide
range of applications in image processing
problems.
4
Fourier Transform (1-D)
( ) ( ) [ ] ( )
( ) ( )
( )uX
uXsin
AXuF
euXsin
u
A
dxux2jexpxfuF uXj
π
π
=⇒
π
π
=π−= π−
∞
∞−
∫
5
Fourier Transform (2-D)
( ) ( )[ ] ( ) ( )
( )
( )
( )vY
vYsin
uX
uXsin
AXYv,uFdydxvyux2jexpy,xf)v,u(F
π
π
π
π
=⇒+π−= ∫ ∫
+∞
∞−
+∞
∞−
6
Discrete Fourier Transform
In the two-variable case the discrete Fourier transform pair is
7
Discrete Fourier Transform
When images are sampled in a squared array, i.e. M=N,
we can write
8
Discrete
Fourier
Transform
Examples
At all of these
examples, the Fourier
spectrum is shifted
from top left corner to
the center of the
frequency square.
9
Discrete
Fourier
Transform
Examples
At all of these
examples, the Fourier
spectrum is shifted
from top left corner to
the center of the
frequency square.
10
Discrete
Fourier
Transform
Display
At all of these
examples, the Fourier
spectrum is shifted
from top left corner to
the center of the
frequency square.
11
Discrete Fourier Transform
Example
Main Image (Gray Level) DFT of Main image
(Fourier spectrum)
Logarithmic scaled
of the Fourier spectrum
12
Discrete Fourier Transform
 % Program written in Matlab for computing FFT of a given gray color image.
 % Clear the memory.
 clear;
 % Getting the name and extension of the image file from the user.
 name=input('Please write the name and address of the image : ','s');
 % Reading the image file into variable 'a'.
 a=imread(name);
 % Computing the size of image. Assuming that image is squared.
 N=length(a);
 % Computing DFT of the image file by using fast Fourier algorithm.
 F=fft2(double(a))/N;
MATLAB program page 1 from 3.
13
Discrete Fourier Transform
 % Shifting the Fourier spectrum to the center of the frequency square.
 for i=1:N/2; for j=1:N/2
 G(i+N/2,j+N/2)=F(i,j);
 end;end
 for i=N/2+1:N; for j=1:N/2
 G(i-N/2,j+N/2)=F(i,j);
 end;end
 for i=1:N/2; for j=N/2+1:N
 G(i+N/2,j-N/2)=F(i,j);
 end;end
 for i=N/2+1:N; for j=N/2+1:N
 G(i-N/2,j-N/2)=F(i,j);
 end;end
MATLAB program page 2 from 3.
14
Discrete Fourier Transform
 % Computing and scaling the logarithmic Fourier spectrum.
 H=log(1+abs(G));
 for i=1:N
 H(i,:)=H(i,:)*255/abs(max(H(i,:)));
 end
 % Changing the color map to gray scale (8 bits).
 colormap(gray(255));
 % Showing the main image and its Fourier spectrum.
 subplot(2,2,1),image(a),title('Main image');
 subplot(2,2,2),image(abs(G)),title('Fourier spectrum');
 subplot(2,2,3),image(H),title('Logarithmic scaled Fourier spectrum');
MATLAB program page 3 from 3.
15
Discrete Fourier Transform
(Properties)
 Separability
The discrete Fourier transform pair can be expressed in the seperable forms:
( ) [ ] ( ) [ ]
( ) [ ] ( ) [ ]∑∑
∑∑
−
=
−
=
−
=
−
=
ππ=
π−π−=
1N
0v
1N
0u
1N
0y
1N
0x
N/vy2jexpv,uFN/ux2jexp
N
1
y,xf
N/vy2jexpy,xfN/ux2jexp
N
1
v,uF
16
Discrete Fourier Transform
(Properties)
 Translation
( ) ( )[ ] ( )
( ) ( ) ( )[ ]N/vyux2jexpv,uFyy,xxf
and
vv,uuFN/yvxu2jexpy,xf
0000
0000
+π−⇔−−
−−⇔+π
The translation properties of the
Fourier transform pair are :
17
Discrete Fourier Transform
(Properties)
 Periodicity
The discrete Fourier transform and its
inverse are periodic with period N; that is,
F(u,v)=F(u+N,v)=F(u,v+N)=F(u+N,v+N)
If f(x,y) is real, the Fourier transform also
exhibits conjugate symmetry:
F(u,v)=F*
(-u,-v)
Or, more interestingly:
|F(u,v)|=|F(-u,-v)|
18
Discrete Fourier Transform
(Properties)
 Rotation
If we introduce the polar coordinates
ϕω=ϕω=
θ=θ=
sinvcosu
sinrycosrx
Then we can write:
( ) ( )00 ,F,rf θ+φω⇔θ+θ
In other words, rotating F(u,v)
rotates f(x,y) by the same angle.
19
Discrete Fourier Transform
(Properties)
 Convolution
The convolution theorem in
two dimensions is expressed
by the relations :
( ) ( ) ( )
( ) ( ) ( ) ( )v,uG*v,uFy,xgy,xf
and
v,uGv,uF)y,x(g*y,xf
⇔
⇔
Note :
( ) ( ) ( ) ( )∫ ∫
∞
∞−
∞
∞−
βαβ−α−βα= ddy,xg,fy,xg*y,xf
20
Discrete Fourier Transform
(Properties)
 Correlation
The correlation of two continuous
functions f(x) and g(x) is defined
by the relation
( ) ( ) ( ) ( ) αα+α= ∫
∞
∞−
dxgfxgxf *

So we can write:
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )v,uGv,uFy,xgy,xf
and
v,uGv,uFy,xgy,xf
*
*


⇔
⇔
21
Discrete
Fourier
Transform
 Sampling
(Properties)
1-D
The Fourier transform and the convolution theorem provide the
tools for a deeper analytic study of sampling problem. In particular, we
want to look at the question of how many samples should be taken so that
no information is lost in the sampling process. Expressed differently, the
problem is one of the establishing the sampling conditions under which a
continuous image can be recovered fully from a set of sampled values. We
begin the analysis with the 1-D case.
As a result, a function which is band-limited in frequency domain
must extend from negative infinity to positive infinity in time domain (or x
domain).
22
Discrete
Fourier
Transform
 Sampling
(Properties)
1-D
f(x) : a given function
F(u): Fourier Transform of f(x)
which is band-limited
s(x) : sampling function
S(u): Fourier Transform of s(x)
G(u): window for recovery of
the main function F(u) and f(x).
Recovered f(x) from sampled data
23
Discrete
Fourier
Transform
 Sampling
(Properties)
1-D
f(x) : a given function
F(u): Fourier Transform of f(x)
which is band-limited
s(x) : sampling function
S(u): Fourier Transform of s(x)
h(x): window for making f(x)
finited in time.
H(u): Fourier Transform of h(x)
24
Discrete
Fourier
Transform
 Sampling
(Properties)
1-D
s(x)*f(x) (convolution
function) is periodic, with
period 1/Δu. If N samples of
f(x) and F(u) are taken and the
spacings between samples are
selected so that a period in
each domain is covered by N
uniformly spaced samples,
then NΔx=X in the x domain
and NΔu=1/Δx in the
frequency domain.
25
Discrete
Fourier
Transform
 Sampling
(Properties)
2-D
The sampling process for 2-D
functions can be formulated
mathematically by making use
of the 2-D impulse function
δ(x,y), which is defined as
( ) ( ) ( )0000 y,xfdydxyy,xxy,xf =−−δ∫ ∫
∞
∞−
∞
∞−
A 2-D sampling function is
consisted of a train of impulses
separated Δx units in the x
direction and Δy units in the y
direction as shown in the figure.
26
Discrete
Fourier
Transform
 Sampling
(Properties)
2-D
If f(x,y) is band limited (that is, its
Fourier transform vanishes outside
some finite region R) the result of
covolving S(u,v) and F(u,v) might
look like the case in the case
shown in the figure. The function
shown is periodic in two
dimensions.
( )






=
0
1
v,uG
(u,v) inside one of the rectangles
enclosing R
elsewhere
The inverse Fourier transform of
G(u,v)[S(u,v)*F(u,v)] yields f(x,y).
27
The Fast Fourier Transform (FFT) Algorithm
28
Other Seperable Image Transforms
For 2-D square arrays the forward and inverse transforms are
( ) ( ) ( )
( ) ( ) ( )∑∑
∑∑
−
=
−
=
−
=
−
=
=
=
1N
0u
1N
0v
1N
0x
1N
0y
v,u,y,xhv,uTy,xf
and
v,u,y,xgy,xfv,uT g(x,y,u,v) : forward transformation kernel
h(x,y,u,v) : inverse transformation kernel
The forward kernel is said to be seperable if
g(x,y,u,v)=g1(x,u)g2(y,v)
In addition, the kernel is symmetric if g1 is functionally equal to g2. In this case
we can write:
g(x,y,u,v)=g1(x,u)g1(y,v)
29
Other Seperable Image Transforms
AFAT =
BTBF
AB
BAFABBTB
1
=⇒
=
=
−
Where F is the N×N image matrix,
A is an N×N symmetric transformation matrix
T is the resulting N×N transform.
If the kernel g(x,y,u,v) is seperable and symmetric,
( ) ( ) ( )∑∑
−
=
−
=
=
1N
0x
1N
0y
v,u,y,xgy,xfv,uT
also may be expressed in matrix form:
And for inverse transform we have:
30
Walsh Transform
When N=2n
, the 2-D forward and inverse Walsh kernels are given by the relations
( ) ( ) ( ) ( ) ( ) ( )[ ]
( ) ( ) ( ) ( ) ( ) ( )[ ]
∏∏
−
=
+
−
=
+ −−−−−−−−
−=−=
1n
0i
vbybubxb
1n
0i
vbybubxb i1nii1nii1nii1ni
1
N
1
v,u,y,xhand1
N
1
v,u,y,xg
Where bk(z) is the kth bit in the binary representation of z.
So the forward and inverse Walsh transforms are equal in form; that is:
31
Walsh Transform
“+” denotes for +1 and “-” denotes for -1.
( ) ( ) ( ) ( )
∏
−
=
−−
−=
1n
0i
ubxb i1ni
1
N
1
u,xgIn 1-D case we have :
In the following table N=8 so n=3 (23
=8).
1-D kernel
32
Walsh Transform
This figure shows the basis functions (kernels) as
a function of u and v (excluding the 1/N constant
term) for computing the Walsh transform when
N=4. Each block corresponds to varying x and y
form 0 to 3 (that is, 0 to N-1), while keeping u
and v fixed at the values corresponding to that
block. Thus each block consists of an array of
4×4 binary elements (White means “+1” and
Black means “-1”). To use these basis functions
to compute the Walsh transform of an image of
size 4×4 simply requires obtaining W(0,0) by
multiplying the image array point-by-point with
the 4×4 basis block corresponding to u=0 and
v=0, adding the results, and dividing by 4, and
continue for other values of u and v.
33
Walsh Transform
Example
Main Image (Gray Level) WT of Main image
(Walsh spectrum)
Logarithmic scaled
of the Walsh spectrum
34
Walsh Transform (WT)
 % Program written in Matlab for computing WT of a given gray color image.
 clear;
 % Getting the name and extension of the image file from the user.
 name=input('Please write the name and address of the image : ','s');
 a=imread(name);
 N=length(a);
 % Computing Walsh Transform of the image file.
 n=log2(N);n=1+fix(n);f=ones(N,N);
 for x=1:N; for u=1:N
 p=dec2bin(x-1,n); q=dec2bin(u-1,n);
 for i=1:n; f(x,u)=f(x,u)*((-1)^(p(n+1-i)*q(i)));
 end;end;end
 F=(1/N)*f*double(a)*f;
MATLAB program page 1 from 3.
35
Walsh Transform (WT)
 % Shifting the Fourier spectrum to the center of the frequency square.
 for i=1:N/2; for j=1:N/2
 G(i+N/2,j+N/2)=F(i,j);
 end;end
 for i=N/2+1:N; for j=1:N/2
 G(i-N/2,j+N/2)=F(i,j);
 end;end
 for i=1:N/2; for j=N/2+1:N
 G(i+N/2,j-N/2)=F(i,j);
 end;end
 for i=N/2+1:N; for j=N/2+1:N
 G(i-N/2,j-N/2)=F(i,j);
 end;end
MATLAB program page 2 from 3.
36
Walsh Transform (WT)
 % Computing and scaling the logarithmic Walsh spectrum.
 H=log(1+abs(G));
 for i=1:N
 H(i,:)=H(i,:)*255/abs(max(H(i,:)));
 end
 % Changing the color map to gray scale (8 bits).
 colormap(gray(255));
 % Showing the main image and its Walsh spectrum.
 subplot(2,2,1),image(a),title('Main image');
 subplot(2,2,2),image(abs(G)),title('Walsh spectrum');
 subplot(2,2,3),image(H),title('Logarithmic scaled Walsh spectrum');
MATLAB program page 3 from 3.
37
Hadamard Transform
When N=2n
, the 2-D forward and inverse Hadamard kernels are given by the relations
( ) ( ) ( ) ( ) ( ) ( )[ ]
( ) ( ) ( ) ( ) ( ) ( )[ ]
∏∏
−
=
+
−
=
+
−=−=
1n
0i
vbybubxb
1n
0i
vbybubxb iiiiiiii
1
N
1
v,u,y,xhand1
N
1
v,u,y,xg
Where bk(z) is the kth bit in the binary representation of z.
So the forward and inverse Hadamard transforms are equal in form; that is:
38
Hadamard Transform
( ) ( ) ( ) ( )
∏
−
=
−=
1n
0i
ubxb ii
1
N
1
u,xgIn 1-D case we have :
In the following table N=8 so n=3 (23
=8).
1-D kernel
“+” denotes for +1 and “-” denotes for -1.
39
Hadamard Transform
This figure shows the basis functions
(kernels) as a function of u and v (excluding
the 1/N constant term) for computing the
Hadamard transform when N=4. Each block
corresponds to varying x and y form 0 to 3
(that is, 0 to N-1), while keeping u and v
fixed at the values corresponding to that
block. Thus each block consists of an array
of 4×4 binary elements (White means “+1”
and Black means “-1”) like Walsh
transform. If we compare these two
transforms we can see that they only differ
in the sense that the functions in Hadamard
transform are ordered in increasing sequency
and thus are more “natural” to interpret.
40
Hadamard Transform
Example
Main Image (Gray Level) HT of Main image
(Hadamard spectrum)
Logarithmic scaled
of the Hadamard spectrum
41
Hadamard Transform (HT)
 % Program written in Matlab for computing HT of a given gray color image.
 clear;
 % Getting the name and extension of the image file from the user.
 name=input('Please write the name and address of the image : ','s');
 a=imread(name);
 N=length(a);
 % Computing Hadamard Transform of the image file.
 n=log2(N);n=1+fix(n);f=ones(N,N);
 for x=1:N; for u=1:N
 p=dec2bin(x-1,n); q=dec2bin(u-1,n);
 for i=1:n; f(x,u)=f(x,u)*((-1)^(p(n+1-i)*q(n+1-i)));
 end;end;end
 F=(1/N)*f*double(a)*f;
MATLAB program page 1 from 3.
42
Hadamard Transform (HT)
 % Shifting the Fourier spectrum to the center of the frequency square.
 for i=1:N/2; for j=1:N/2
 G(i+N/2,j+N/2)=F(i,j);
 end;end
 for i=N/2+1:N; for j=1:N/2
 G(i-N/2,j+N/2)=F(i,j);
 end;end
 for i=1:N/2; for j=N/2+1:N
 G(i+N/2,j-N/2)=F(i,j);
 end;end
 for i=N/2+1:N; for j=N/2+1:N
 G(i-N/2,j-N/2)=F(i,j);
 end;end
MATLAB program page 2 from 3.
43
Hadamard Transform (HT)
 % Computing and scaling the logarithmic Hadamard spectrum.
 H=log(1+abs(G));
 for i=1:N
 H(i,:)=H(i,:)*255/abs(max(H(i,:)));
 end
 % Changing the color map to gray scale (8 bits).
 colormap(gray(255));
 % Showing the main image and its Hadamard spectrum.
 subplot(2,2,1),image(a),title('Main image');
 subplot(2,2,2),image(abs(G)),title('Hadamard spectrum');
 subplot(2,2,3),image(H),title('Logarithmic scaled Hadamard
spectrum');
MATLAB program page 3 from 3.
44
Walsh-Hadamard Transform (WHT)
45
1-D WHT Kernel Functions
46
2-D WHT Kernel Functions
47
WHT and Fourier Transform
48
WHT Example
49
Discrete Cosine Transform
50
Discrete Cosine Transform (DCT)
Each block consists
of 4×4 elements,
corresponding to x
and y varying from 0
to 3. The highest
value is shown in
white. Other values
are shown in grays,
with darker meaning
smaller.
51
Discrete Cosine Transform
Example
Main Image (Gray Level) DCT of Main image
(Cosine spectrum)
Logarithmic scaled
of the Cosine spectrum
52
Discrete Cosine Transform
 % Program written in Matlab for computing DCT of a given gray color image.
 % Clear the memory.
 clear;
 % Getting the name and extension of the image file from the user.
 name=input('Please write the name and address of the image : ','s');
 % Reading the image file into variable 'a'.
 a=imread(name);
 % Computing the size of image. Assuming that image is squared.
 N=length(a);
 % Computing DCT of the image file.
 F=dct2(double(a));
MATLAB program page 1 from 3.
53
Discrete Cosine Transform
 % Shifting the Fourier spectrum to the center of the frequency square.
 for i=1:N/2; for j=1:N/2
 G(i+N/2,j+N/2)=F(i,j);
 end;end
 for i=N/2+1:N; for j=1:N/2
 G(i-N/2,j+N/2)=F(i,j);
 end;end
 for i=1:N/2; for j=N/2+1:N
 G(i+N/2,j-N/2)=F(i,j);
 end;end
 for i=N/2+1:N; for j=N/2+1:N
 G(i-N/2,j-N/2)=F(i,j);
 end;end
MATLAB program page 2 from 3.
54
Discrete Cosine Transform
 % Computing and scaling the logarithmic Cosine spectrum.
 H=log(1+abs(G));
 for i=1:N
 H(i,:)=H(i,:)*255/abs(max(H(i,:)));
 end
 % Changing the color map to gray scale (8 bits).
 colormap(gray(255));
 % Showing the main image and its Cosine spectrum.
 subplot(2,2,1),image(a),title('Main image');
 subplot(2,2,2),image(abs(G)),title('Cosine spectrum');
 subplot(2,2,3),image(H),title('Logarithmic scaled Cosine spectrum');
MATLAB program page 3 from 3.
55
DCT and Fourier Transform
56
DCT Example
57
Blockwise DCT Example
58
Fast DCT Algorithm
59
Fast DCT Algorithm
60
Haar Transform
The Haar transform is based on the Haar functions, hk(z), which are defined over the
continuous, closed interval [0,1] for z, and for k=0,1,2,…,N-1, where N=2n
. The first
step in generating the Haar transform is to note that the integer k can be decomposed
uniquely as k=2p
+q-1
where 0≤p≤n-1, q=0 or 1 for p=0, and 1≤q≤2p
for p≠0.
With this background, the Haar functions are defined as
( ) ( ) [ ]
( ) ( )
[ ]








∈
≤
−
−
−
≤
−
==
∈==
∆
∆
1,0zforotherwise0
2
q
z
2
2/1q
2
2
2/1q
z
2
1q
2
N
1
zhzh
and
1,0zfor
N
1
zhzh
pp
2/p
pp
2/p
00k
000


61
Haar Transform
 Haar transform matrix for sizes N=2,4,8






−
=
11
11
2
1
Hr2














−−
−
−
=
2011
2011
0211
0211
4
1
Hr4


























−−−
−−
−−
−
−−
−
−
=
20002011
20002011
02002011
02002011
00200211
00200211
00020211
00020211
8
1
Hr8
Can be computed by taking sums and differences.
Fast algorithms by recursively applying Hr2.
62
Haar Transform Example
63
Haar Transform Example
64
Haar Transform
MATLAB program page 1 from 1.
% Program written in Matlab for computing HT of a given gray color image.
% Getting the name and extension of the image file from the user.
name=input('Please write the name and address of the image : ','s');
a=imread(name); N=length(a);
% Computing Haar Transform of the image file.
for i=1:N p=fix(log2(i)); q=i-(2^p);
for j=1:N z=(j-1)/N;
if (z>=(q-1)/(2^p))&&(z<(q-1/2)/2^p) f(i,j)=(1/(sqrt(N)))*(2^(p/2));
elseif (z>=(q-1/2)/(2^p))&&(z<(q/2^p)) f(i,j)=(1/(sqrt(N)))*(-(2^(p/2)));
else f(i,j)=0;
end;end;end
F=f*double(a)*f;
% Changing the color map to gray scale (8 bits).
colormap(gray(255));
% Showing the main image and its Hadamard spectrum.
subplot(2,2,1),image(a),title('Main image');
subplot(2,2,2),image(abs(F)),title('Haar spectrum');
65
Slant Transform
 The Slant Transform matrix of order N*N is the recursive expression
66
Slant Transform






−
=
11
11
2
1
S2
( )
2
1
2
2
N
1N4
N3
a 





−
=
Where I is the identity matrix, and
( )
2
1
2
2
N
1N4
4N
b 





−
−
=
67
Slant Transform
Example
Main Image (Gray Level) Slant Transform of Main image
(Slant spectrum)
68
Slant Transform
MATLAB program page 1 from 1.
% Program written in Matlab for computing ST of a given gray color image.
% Getting the name and extension of the image file from the user.
name=input('Please write the name and address of the image : ','s');
a=imread(name); N=length(a);
% Computing Slant Transform of the image file.
A=[ 1/(2^0.5) 1/(2^0.5);1/(2^0.5) -1/(2^0.5)];
for i=2:log2(N) N=2^i; aN=((3*(N^2))/(4*((N^2)-1)))^0.5;
bN=(((N^2)-4)/(4*((N^2)-1)))^0.5;
m=1/(2^0.5)*[1 0 zeros(1,(N/2)-2) 1 0 zeros(1,(N/2)-2)
aN bN zeros(1,(N/2)-2) -aN bN zeros(1,(N/2)-2)
zeros((N/2)-2,2) eye((N/2)-2) zeros((N/2)-2,2) eye((N/2)-2)
0 1 zeros(1,(N/2)-2) 0 -1 zeros(1,(N/2)-2)
-bN aN zeros(1,(N/2)-2) bN aN zeros(1,(N/2)-2)
zeros((N/2)-2,2) eye((N/2)-2) zeros((N/2)-2,2) -eye((N/2)-2)];
n=[A A-A;A-A A]; A=m*n;
end
F=A*double(a)*A;
% Changing the color map to gray scale (8 bits).
colormap(gray(255));
% Showing the main image and its Hadamard spectrum.
subplot(2,2,1),image(a),title('Main image');
subplot(2,2,2),image(abs(F)),title('Slant spectrum');
69
Comparison Of Various Transforms
70
Comparison Of Various Transforms
71
Comparison Of Various Transforms
72
Comparison Of Various Transforms
73
References
 “Digital image processing” by Rafael C.
Gonzalez and Richard E. Woods
 “Digital image processing” by Jain
 Image communication I by Bernd Girod
 Lecture 3, DCS339/AMCM053 by Pengwei
Hao, University of London

More Related Content

What's hot

Chapter 5 Image Processing: Fourier Transformation
Chapter 5 Image Processing: Fourier TransformationChapter 5 Image Processing: Fourier Transformation
Chapter 5 Image Processing: Fourier TransformationVarun Ojha
 
Image Enhancement - Point Processing
Image Enhancement - Point ProcessingImage Enhancement - Point Processing
Image Enhancement - Point ProcessingGayathri31093
 
Image Filtering in the Frequency Domain
Image Filtering in the Frequency DomainImage Filtering in the Frequency Domain
Image Filtering in the Frequency DomainAmnaakhaan
 
Discrete cosine transform
Discrete cosine transform   Discrete cosine transform
Discrete cosine transform Rashmi Karkra
 
Image sampling and quantization
Image sampling and quantizationImage sampling and quantization
Image sampling and quantizationBCET, Balasore
 
Digital Image Processing - Image Compression
Digital Image Processing - Image CompressionDigital Image Processing - Image Compression
Digital Image Processing - Image CompressionMathankumar S
 
Transform coding
Transform codingTransform coding
Transform codingNancy K
 
Point processing
Point processingPoint processing
Point processingpanupriyaa7
 
Chapter 9 morphological image processing
Chapter 9   morphological image processingChapter 9   morphological image processing
Chapter 9 morphological image processingAhmed Daoud
 
Lecture 16 KL Transform in Image Processing
Lecture 16 KL Transform in Image ProcessingLecture 16 KL Transform in Image Processing
Lecture 16 KL Transform in Image ProcessingVARUN KUMAR
 
SPATIAL FILTERING IN IMAGE PROCESSING
SPATIAL FILTERING IN IMAGE PROCESSINGSPATIAL FILTERING IN IMAGE PROCESSING
SPATIAL FILTERING IN IMAGE PROCESSINGmuthu181188
 
Digital Image Processing: Image Segmentation
Digital Image Processing: Image SegmentationDigital Image Processing: Image Segmentation
Digital Image Processing: Image SegmentationMostafa G. M. Mostafa
 
Image Restoration (Digital Image Processing)
Image Restoration (Digital Image Processing)Image Restoration (Digital Image Processing)
Image Restoration (Digital Image Processing)Kalyan Acharjya
 
DIGITAL IMAGE PROCESSING - Day 4 Image Transform
DIGITAL IMAGE PROCESSING - Day 4 Image TransformDIGITAL IMAGE PROCESSING - Day 4 Image Transform
DIGITAL IMAGE PROCESSING - Day 4 Image Transformvijayanand Kandaswamy
 

What's hot (20)

Chapter 5 Image Processing: Fourier Transformation
Chapter 5 Image Processing: Fourier TransformationChapter 5 Image Processing: Fourier Transformation
Chapter 5 Image Processing: Fourier Transformation
 
Image Enhancement - Point Processing
Image Enhancement - Point ProcessingImage Enhancement - Point Processing
Image Enhancement - Point Processing
 
Image Filtering in the Frequency Domain
Image Filtering in the Frequency DomainImage Filtering in the Frequency Domain
Image Filtering in the Frequency Domain
 
03 image transform
03 image transform03 image transform
03 image transform
 
image compression ppt
image compression pptimage compression ppt
image compression ppt
 
Discrete cosine transform
Discrete cosine transform   Discrete cosine transform
Discrete cosine transform
 
Image segmentation
Image segmentation Image segmentation
Image segmentation
 
Image sampling and quantization
Image sampling and quantizationImage sampling and quantization
Image sampling and quantization
 
Digital Image Processing - Image Compression
Digital Image Processing - Image CompressionDigital Image Processing - Image Compression
Digital Image Processing - Image Compression
 
Transform coding
Transform codingTransform coding
Transform coding
 
Point processing
Point processingPoint processing
Point processing
 
Digital Image Fundamentals - II
Digital Image Fundamentals - IIDigital Image Fundamentals - II
Digital Image Fundamentals - II
 
Chapter 9 morphological image processing
Chapter 9   morphological image processingChapter 9   morphological image processing
Chapter 9 morphological image processing
 
Lecture 16 KL Transform in Image Processing
Lecture 16 KL Transform in Image ProcessingLecture 16 KL Transform in Image Processing
Lecture 16 KL Transform in Image Processing
 
SPATIAL FILTERING IN IMAGE PROCESSING
SPATIAL FILTERING IN IMAGE PROCESSINGSPATIAL FILTERING IN IMAGE PROCESSING
SPATIAL FILTERING IN IMAGE PROCESSING
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image Processing
 
Digital Image Processing: Image Segmentation
Digital Image Processing: Image SegmentationDigital Image Processing: Image Segmentation
Digital Image Processing: Image Segmentation
 
Image Restoration (Digital Image Processing)
Image Restoration (Digital Image Processing)Image Restoration (Digital Image Processing)
Image Restoration (Digital Image Processing)
 
Wiener Filter
Wiener FilterWiener Filter
Wiener Filter
 
DIGITAL IMAGE PROCESSING - Day 4 Image Transform
DIGITAL IMAGE PROCESSING - Day 4 Image TransformDIGITAL IMAGE PROCESSING - Day 4 Image Transform
DIGITAL IMAGE PROCESSING - Day 4 Image Transform
 

Similar to Image trnsformations

Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoidFourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoidXavier Davias
 
FourierTransform detailed power point presentation
FourierTransform detailed power point presentationFourierTransform detailed power point presentation
FourierTransform detailed power point presentationssuseracb8ba
 
Frequency domain methods
Frequency domain methods Frequency domain methods
Frequency domain methods thanhhoang2012
 
imagetransforms1-210417050321.pptx
imagetransforms1-210417050321.pptximagetransforms1-210417050321.pptx
imagetransforms1-210417050321.pptxMrsSDivyaBME
 
Digital Image Processing_ ch3 enhancement freq-domain
Digital Image Processing_ ch3 enhancement freq-domainDigital Image Processing_ ch3 enhancement freq-domain
Digital Image Processing_ ch3 enhancement freq-domainMalik obeisat
 
Litvinenko_RWTH_UQ_Seminar_talk.pdf
Litvinenko_RWTH_UQ_Seminar_talk.pdfLitvinenko_RWTH_UQ_Seminar_talk.pdf
Litvinenko_RWTH_UQ_Seminar_talk.pdfAlexander Litvinenko
 
Basics of edge detection and forier transform
Basics of edge detection and forier transformBasics of edge detection and forier transform
Basics of edge detection and forier transformSimranjit Singh
 
07 frequency domain DIP
07 frequency domain DIP07 frequency domain DIP
07 frequency domain DIPbabak danyal
 
Computing f-Divergences and Distances of\\ High-Dimensional Probability Densi...
Computing f-Divergences and Distances of\\ High-Dimensional Probability Densi...Computing f-Divergences and Distances of\\ High-Dimensional Probability Densi...
Computing f-Divergences and Distances of\\ High-Dimensional Probability Densi...Alexander Litvinenko
 
fouriertransform.pdf
fouriertransform.pdffouriertransform.pdf
fouriertransform.pdfssuser4dafea
 
Low rank tensor approximation of probability density and characteristic funct...
Low rank tensor approximation of probability density and characteristic funct...Low rank tensor approximation of probability density and characteristic funct...
Low rank tensor approximation of probability density and characteristic funct...Alexander Litvinenko
 
Dokumen.tips mathematics ii-institute-of-aeronautical-engineering-pptpdfadvan...
Dokumen.tips mathematics ii-institute-of-aeronautical-engineering-pptpdfadvan...Dokumen.tips mathematics ii-institute-of-aeronautical-engineering-pptpdfadvan...
Dokumen.tips mathematics ii-institute-of-aeronautical-engineering-pptpdfadvan...Mahmood Adel
 
Chapter no4 image transform3
Chapter no4 image transform3Chapter no4 image transform3
Chapter no4 image transform3ShardaSalunkhe1
 

Similar to Image trnsformations (20)

Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoidFourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
 
FourierTransform detailed power point presentation
FourierTransform detailed power point presentationFourierTransform detailed power point presentation
FourierTransform detailed power point presentation
 
Frequency domain methods
Frequency domain methods Frequency domain methods
Frequency domain methods
 
imagetransforms1-210417050321.pptx
imagetransforms1-210417050321.pptximagetransforms1-210417050321.pptx
imagetransforms1-210417050321.pptx
 
Image transforms
Image transformsImage transforms
Image transforms
 
Fourier transform
Fourier transformFourier transform
Fourier transform
 
Digital Image Processing_ ch3 enhancement freq-domain
Digital Image Processing_ ch3 enhancement freq-domainDigital Image Processing_ ch3 enhancement freq-domain
Digital Image Processing_ ch3 enhancement freq-domain
 
Litvinenko_RWTH_UQ_Seminar_talk.pdf
Litvinenko_RWTH_UQ_Seminar_talk.pdfLitvinenko_RWTH_UQ_Seminar_talk.pdf
Litvinenko_RWTH_UQ_Seminar_talk.pdf
 
Image processing 2
Image processing 2Image processing 2
Image processing 2
 
Lect5 v2
Lect5 v2Lect5 v2
Lect5 v2
 
Basics of edge detection and forier transform
Basics of edge detection and forier transformBasics of edge detection and forier transform
Basics of edge detection and forier transform
 
Wave diffraction
Wave diffractionWave diffraction
Wave diffraction
 
Lecture 9
Lecture 9Lecture 9
Lecture 9
 
07 frequency domain DIP
07 frequency domain DIP07 frequency domain DIP
07 frequency domain DIP
 
Computing f-Divergences and Distances of\\ High-Dimensional Probability Densi...
Computing f-Divergences and Distances of\\ High-Dimensional Probability Densi...Computing f-Divergences and Distances of\\ High-Dimensional Probability Densi...
Computing f-Divergences and Distances of\\ High-Dimensional Probability Densi...
 
fouriertransform.pdf
fouriertransform.pdffouriertransform.pdf
fouriertransform.pdf
 
Low rank tensor approximation of probability density and characteristic funct...
Low rank tensor approximation of probability density and characteristic funct...Low rank tensor approximation of probability density and characteristic funct...
Low rank tensor approximation of probability density and characteristic funct...
 
Dokumen.tips mathematics ii-institute-of-aeronautical-engineering-pptpdfadvan...
Dokumen.tips mathematics ii-institute-of-aeronautical-engineering-pptpdfadvan...Dokumen.tips mathematics ii-institute-of-aeronautical-engineering-pptpdfadvan...
Dokumen.tips mathematics ii-institute-of-aeronautical-engineering-pptpdfadvan...
 
Chapter no4 image transform3
Chapter no4 image transform3Chapter no4 image transform3
Chapter no4 image transform3
 
1532 fourier series
1532 fourier series1532 fourier series
1532 fourier series
 

More from John Williams

Employee job retention
Employee job retentionEmployee job retention
Employee job retentionJohn Williams
 
Mobile cellular-telecommunication-system-revised
Mobile cellular-telecommunication-system-revisedMobile cellular-telecommunication-system-revised
Mobile cellular-telecommunication-system-revisedJohn Williams
 
Microwave engineering jwfiles
Microwave engineering jwfilesMicrowave engineering jwfiles
Microwave engineering jwfilesJohn Williams
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051John Williams
 
Lut optimization for memory based computation
Lut optimization for memory based computationLut optimization for memory based computation
Lut optimization for memory based computationJohn Williams
 
Llr test english_totalquestions
Llr test english_totalquestionsLlr test english_totalquestions
Llr test english_totalquestionsJohn Williams
 
Lecture notes -_microwaves_jwfiles
Lecture notes -_microwaves_jwfilesLecture notes -_microwaves_jwfiles
Lecture notes -_microwaves_jwfilesJohn Williams
 
Image processing spatialfiltering
Image processing spatialfilteringImage processing spatialfiltering
Image processing spatialfilteringJohn Williams
 
Image processing9 segmentation(pointslinesedges)
Image processing9 segmentation(pointslinesedges)Image processing9 segmentation(pointslinesedges)
Image processing9 segmentation(pointslinesedges)John Williams
 
Image processing3 imageenhancement(histogramprocessing)
Image processing3 imageenhancement(histogramprocessing)Image processing3 imageenhancement(histogramprocessing)
Image processing3 imageenhancement(histogramprocessing)John Williams
 
morphological image processing
morphological image processingmorphological image processing
morphological image processingJohn Williams
 
Arm teaching material
Arm teaching materialArm teaching material
Arm teaching materialJohn Williams
 
4 things you_cannot_recover
4 things you_cannot_recover4 things you_cannot_recover
4 things you_cannot_recoverJohn Williams
 

More from John Williams (20)

Employee job retention
Employee job retentionEmployee job retention
Employee job retention
 
Moore's law & more
Moore's law & moreMoore's law & more
Moore's law & more
 
Mobile cellular-telecommunication-system-revised
Mobile cellular-telecommunication-system-revisedMobile cellular-telecommunication-system-revised
Mobile cellular-telecommunication-system-revised
 
Mnr
MnrMnr
Mnr
 
Microwave engineering jwfiles
Microwave engineering jwfilesMicrowave engineering jwfiles
Microwave engineering jwfiles
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051
 
Lut optimization for memory based computation
Lut optimization for memory based computationLut optimization for memory based computation
Lut optimization for memory based computation
 
Llr test english_totalquestions
Llr test english_totalquestionsLlr test english_totalquestions
Llr test english_totalquestions
 
Lecture1
Lecture1Lecture1
Lecture1
 
Lecture notes -_microwaves_jwfiles
Lecture notes -_microwaves_jwfilesLecture notes -_microwaves_jwfiles
Lecture notes -_microwaves_jwfiles
 
Image processing spatialfiltering
Image processing spatialfilteringImage processing spatialfiltering
Image processing spatialfiltering
 
Image processing9 segmentation(pointslinesedges)
Image processing9 segmentation(pointslinesedges)Image processing9 segmentation(pointslinesedges)
Image processing9 segmentation(pointslinesedges)
 
Image processing3 imageenhancement(histogramprocessing)
Image processing3 imageenhancement(histogramprocessing)Image processing3 imageenhancement(histogramprocessing)
Image processing3 imageenhancement(histogramprocessing)
 
Friday xpress
Friday xpressFriday xpress
Friday xpress
 
Fft
FftFft
Fft
 
morphological image processing
morphological image processingmorphological image processing
morphological image processing
 
Arm teaching material
Arm teaching materialArm teaching material
Arm teaching material
 
An atm with an eye
An atm with an eyeAn atm with an eye
An atm with an eye
 
4 things you_cannot_recover
4 things you_cannot_recover4 things you_cannot_recover
4 things you_cannot_recover
 
Lect21 Engin112
Lect21 Engin112Lect21 Engin112
Lect21 Engin112
 

Recently uploaded

All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 

Recently uploaded (20)

All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 

Image trnsformations

  • 1. 1 Chapter 4: Frequency Domain Processing  Image Transformations IUST
  • 2. 2 Contents  Fourier Transform and DFT  Walsh Transform  Hadamard Transform  Walsh-Hadamard Transform (WHT)  Discrete Cosine Transform (DCT)  Haar Transform  Slant Transform  Comparison of various Transforms
  • 3. 3 Introduction  Although we discuss other transforms in some detail in this chapter, we emphasize the Fourier transform because of its wide range of applications in image processing problems.
  • 4. 4 Fourier Transform (1-D) ( ) ( ) [ ] ( ) ( ) ( ) ( )uX uXsin AXuF euXsin u A dxux2jexpxfuF uXj π π =⇒ π π =π−= π− ∞ ∞− ∫
  • 5. 5 Fourier Transform (2-D) ( ) ( )[ ] ( ) ( ) ( ) ( ) ( )vY vYsin uX uXsin AXYv,uFdydxvyux2jexpy,xf)v,u(F π π π π =⇒+π−= ∫ ∫ +∞ ∞− +∞ ∞−
  • 6. 6 Discrete Fourier Transform In the two-variable case the discrete Fourier transform pair is
  • 7. 7 Discrete Fourier Transform When images are sampled in a squared array, i.e. M=N, we can write
  • 8. 8 Discrete Fourier Transform Examples At all of these examples, the Fourier spectrum is shifted from top left corner to the center of the frequency square.
  • 9. 9 Discrete Fourier Transform Examples At all of these examples, the Fourier spectrum is shifted from top left corner to the center of the frequency square.
  • 10. 10 Discrete Fourier Transform Display At all of these examples, the Fourier spectrum is shifted from top left corner to the center of the frequency square.
  • 11. 11 Discrete Fourier Transform Example Main Image (Gray Level) DFT of Main image (Fourier spectrum) Logarithmic scaled of the Fourier spectrum
  • 12. 12 Discrete Fourier Transform  % Program written in Matlab for computing FFT of a given gray color image.  % Clear the memory.  clear;  % Getting the name and extension of the image file from the user.  name=input('Please write the name and address of the image : ','s');  % Reading the image file into variable 'a'.  a=imread(name);  % Computing the size of image. Assuming that image is squared.  N=length(a);  % Computing DFT of the image file by using fast Fourier algorithm.  F=fft2(double(a))/N; MATLAB program page 1 from 3.
  • 13. 13 Discrete Fourier Transform  % Shifting the Fourier spectrum to the center of the frequency square.  for i=1:N/2; for j=1:N/2  G(i+N/2,j+N/2)=F(i,j);  end;end  for i=N/2+1:N; for j=1:N/2  G(i-N/2,j+N/2)=F(i,j);  end;end  for i=1:N/2; for j=N/2+1:N  G(i+N/2,j-N/2)=F(i,j);  end;end  for i=N/2+1:N; for j=N/2+1:N  G(i-N/2,j-N/2)=F(i,j);  end;end MATLAB program page 2 from 3.
  • 14. 14 Discrete Fourier Transform  % Computing and scaling the logarithmic Fourier spectrum.  H=log(1+abs(G));  for i=1:N  H(i,:)=H(i,:)*255/abs(max(H(i,:)));  end  % Changing the color map to gray scale (8 bits).  colormap(gray(255));  % Showing the main image and its Fourier spectrum.  subplot(2,2,1),image(a),title('Main image');  subplot(2,2,2),image(abs(G)),title('Fourier spectrum');  subplot(2,2,3),image(H),title('Logarithmic scaled Fourier spectrum'); MATLAB program page 3 from 3.
  • 15. 15 Discrete Fourier Transform (Properties)  Separability The discrete Fourier transform pair can be expressed in the seperable forms: ( ) [ ] ( ) [ ] ( ) [ ] ( ) [ ]∑∑ ∑∑ − = − = − = − = ππ= π−π−= 1N 0v 1N 0u 1N 0y 1N 0x N/vy2jexpv,uFN/ux2jexp N 1 y,xf N/vy2jexpy,xfN/ux2jexp N 1 v,uF
  • 16. 16 Discrete Fourier Transform (Properties)  Translation ( ) ( )[ ] ( ) ( ) ( ) ( )[ ]N/vyux2jexpv,uFyy,xxf and vv,uuFN/yvxu2jexpy,xf 0000 0000 +π−⇔−− −−⇔+π The translation properties of the Fourier transform pair are :
  • 17. 17 Discrete Fourier Transform (Properties)  Periodicity The discrete Fourier transform and its inverse are periodic with period N; that is, F(u,v)=F(u+N,v)=F(u,v+N)=F(u+N,v+N) If f(x,y) is real, the Fourier transform also exhibits conjugate symmetry: F(u,v)=F* (-u,-v) Or, more interestingly: |F(u,v)|=|F(-u,-v)|
  • 18. 18 Discrete Fourier Transform (Properties)  Rotation If we introduce the polar coordinates ϕω=ϕω= θ=θ= sinvcosu sinrycosrx Then we can write: ( ) ( )00 ,F,rf θ+φω⇔θ+θ In other words, rotating F(u,v) rotates f(x,y) by the same angle.
  • 19. 19 Discrete Fourier Transform (Properties)  Convolution The convolution theorem in two dimensions is expressed by the relations : ( ) ( ) ( ) ( ) ( ) ( ) ( )v,uG*v,uFy,xgy,xf and v,uGv,uF)y,x(g*y,xf ⇔ ⇔ Note : ( ) ( ) ( ) ( )∫ ∫ ∞ ∞− ∞ ∞− βαβ−α−βα= ddy,xg,fy,xg*y,xf
  • 20. 20 Discrete Fourier Transform (Properties)  Correlation The correlation of two continuous functions f(x) and g(x) is defined by the relation ( ) ( ) ( ) ( ) αα+α= ∫ ∞ ∞− dxgfxgxf *  So we can write: ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )v,uGv,uFy,xgy,xf and v,uGv,uFy,xgy,xf * *   ⇔ ⇔
  • 21. 21 Discrete Fourier Transform  Sampling (Properties) 1-D The Fourier transform and the convolution theorem provide the tools for a deeper analytic study of sampling problem. In particular, we want to look at the question of how many samples should be taken so that no information is lost in the sampling process. Expressed differently, the problem is one of the establishing the sampling conditions under which a continuous image can be recovered fully from a set of sampled values. We begin the analysis with the 1-D case. As a result, a function which is band-limited in frequency domain must extend from negative infinity to positive infinity in time domain (or x domain).
  • 22. 22 Discrete Fourier Transform  Sampling (Properties) 1-D f(x) : a given function F(u): Fourier Transform of f(x) which is band-limited s(x) : sampling function S(u): Fourier Transform of s(x) G(u): window for recovery of the main function F(u) and f(x). Recovered f(x) from sampled data
  • 23. 23 Discrete Fourier Transform  Sampling (Properties) 1-D f(x) : a given function F(u): Fourier Transform of f(x) which is band-limited s(x) : sampling function S(u): Fourier Transform of s(x) h(x): window for making f(x) finited in time. H(u): Fourier Transform of h(x)
  • 24. 24 Discrete Fourier Transform  Sampling (Properties) 1-D s(x)*f(x) (convolution function) is periodic, with period 1/Δu. If N samples of f(x) and F(u) are taken and the spacings between samples are selected so that a period in each domain is covered by N uniformly spaced samples, then NΔx=X in the x domain and NΔu=1/Δx in the frequency domain.
  • 25. 25 Discrete Fourier Transform  Sampling (Properties) 2-D The sampling process for 2-D functions can be formulated mathematically by making use of the 2-D impulse function δ(x,y), which is defined as ( ) ( ) ( )0000 y,xfdydxyy,xxy,xf =−−δ∫ ∫ ∞ ∞− ∞ ∞− A 2-D sampling function is consisted of a train of impulses separated Δx units in the x direction and Δy units in the y direction as shown in the figure.
  • 26. 26 Discrete Fourier Transform  Sampling (Properties) 2-D If f(x,y) is band limited (that is, its Fourier transform vanishes outside some finite region R) the result of covolving S(u,v) and F(u,v) might look like the case in the case shown in the figure. The function shown is periodic in two dimensions. ( )       = 0 1 v,uG (u,v) inside one of the rectangles enclosing R elsewhere The inverse Fourier transform of G(u,v)[S(u,v)*F(u,v)] yields f(x,y).
  • 27. 27 The Fast Fourier Transform (FFT) Algorithm
  • 28. 28 Other Seperable Image Transforms For 2-D square arrays the forward and inverse transforms are ( ) ( ) ( ) ( ) ( ) ( )∑∑ ∑∑ − = − = − = − = = = 1N 0u 1N 0v 1N 0x 1N 0y v,u,y,xhv,uTy,xf and v,u,y,xgy,xfv,uT g(x,y,u,v) : forward transformation kernel h(x,y,u,v) : inverse transformation kernel The forward kernel is said to be seperable if g(x,y,u,v)=g1(x,u)g2(y,v) In addition, the kernel is symmetric if g1 is functionally equal to g2. In this case we can write: g(x,y,u,v)=g1(x,u)g1(y,v)
  • 29. 29 Other Seperable Image Transforms AFAT = BTBF AB BAFABBTB 1 =⇒ = = − Where F is the N×N image matrix, A is an N×N symmetric transformation matrix T is the resulting N×N transform. If the kernel g(x,y,u,v) is seperable and symmetric, ( ) ( ) ( )∑∑ − = − = = 1N 0x 1N 0y v,u,y,xgy,xfv,uT also may be expressed in matrix form: And for inverse transform we have:
  • 30. 30 Walsh Transform When N=2n , the 2-D forward and inverse Walsh kernels are given by the relations ( ) ( ) ( ) ( ) ( ) ( )[ ] ( ) ( ) ( ) ( ) ( ) ( )[ ] ∏∏ − = + − = + −−−−−−−− −=−= 1n 0i vbybubxb 1n 0i vbybubxb i1nii1nii1nii1ni 1 N 1 v,u,y,xhand1 N 1 v,u,y,xg Where bk(z) is the kth bit in the binary representation of z. So the forward and inverse Walsh transforms are equal in form; that is:
  • 31. 31 Walsh Transform “+” denotes for +1 and “-” denotes for -1. ( ) ( ) ( ) ( ) ∏ − = −− −= 1n 0i ubxb i1ni 1 N 1 u,xgIn 1-D case we have : In the following table N=8 so n=3 (23 =8). 1-D kernel
  • 32. 32 Walsh Transform This figure shows the basis functions (kernels) as a function of u and v (excluding the 1/N constant term) for computing the Walsh transform when N=4. Each block corresponds to varying x and y form 0 to 3 (that is, 0 to N-1), while keeping u and v fixed at the values corresponding to that block. Thus each block consists of an array of 4×4 binary elements (White means “+1” and Black means “-1”). To use these basis functions to compute the Walsh transform of an image of size 4×4 simply requires obtaining W(0,0) by multiplying the image array point-by-point with the 4×4 basis block corresponding to u=0 and v=0, adding the results, and dividing by 4, and continue for other values of u and v.
  • 33. 33 Walsh Transform Example Main Image (Gray Level) WT of Main image (Walsh spectrum) Logarithmic scaled of the Walsh spectrum
  • 34. 34 Walsh Transform (WT)  % Program written in Matlab for computing WT of a given gray color image.  clear;  % Getting the name and extension of the image file from the user.  name=input('Please write the name and address of the image : ','s');  a=imread(name);  N=length(a);  % Computing Walsh Transform of the image file.  n=log2(N);n=1+fix(n);f=ones(N,N);  for x=1:N; for u=1:N  p=dec2bin(x-1,n); q=dec2bin(u-1,n);  for i=1:n; f(x,u)=f(x,u)*((-1)^(p(n+1-i)*q(i)));  end;end;end  F=(1/N)*f*double(a)*f; MATLAB program page 1 from 3.
  • 35. 35 Walsh Transform (WT)  % Shifting the Fourier spectrum to the center of the frequency square.  for i=1:N/2; for j=1:N/2  G(i+N/2,j+N/2)=F(i,j);  end;end  for i=N/2+1:N; for j=1:N/2  G(i-N/2,j+N/2)=F(i,j);  end;end  for i=1:N/2; for j=N/2+1:N  G(i+N/2,j-N/2)=F(i,j);  end;end  for i=N/2+1:N; for j=N/2+1:N  G(i-N/2,j-N/2)=F(i,j);  end;end MATLAB program page 2 from 3.
  • 36. 36 Walsh Transform (WT)  % Computing and scaling the logarithmic Walsh spectrum.  H=log(1+abs(G));  for i=1:N  H(i,:)=H(i,:)*255/abs(max(H(i,:)));  end  % Changing the color map to gray scale (8 bits).  colormap(gray(255));  % Showing the main image and its Walsh spectrum.  subplot(2,2,1),image(a),title('Main image');  subplot(2,2,2),image(abs(G)),title('Walsh spectrum');  subplot(2,2,3),image(H),title('Logarithmic scaled Walsh spectrum'); MATLAB program page 3 from 3.
  • 37. 37 Hadamard Transform When N=2n , the 2-D forward and inverse Hadamard kernels are given by the relations ( ) ( ) ( ) ( ) ( ) ( )[ ] ( ) ( ) ( ) ( ) ( ) ( )[ ] ∏∏ − = + − = + −=−= 1n 0i vbybubxb 1n 0i vbybubxb iiiiiiii 1 N 1 v,u,y,xhand1 N 1 v,u,y,xg Where bk(z) is the kth bit in the binary representation of z. So the forward and inverse Hadamard transforms are equal in form; that is:
  • 38. 38 Hadamard Transform ( ) ( ) ( ) ( ) ∏ − = −= 1n 0i ubxb ii 1 N 1 u,xgIn 1-D case we have : In the following table N=8 so n=3 (23 =8). 1-D kernel “+” denotes for +1 and “-” denotes for -1.
  • 39. 39 Hadamard Transform This figure shows the basis functions (kernels) as a function of u and v (excluding the 1/N constant term) for computing the Hadamard transform when N=4. Each block corresponds to varying x and y form 0 to 3 (that is, 0 to N-1), while keeping u and v fixed at the values corresponding to that block. Thus each block consists of an array of 4×4 binary elements (White means “+1” and Black means “-1”) like Walsh transform. If we compare these two transforms we can see that they only differ in the sense that the functions in Hadamard transform are ordered in increasing sequency and thus are more “natural” to interpret.
  • 40. 40 Hadamard Transform Example Main Image (Gray Level) HT of Main image (Hadamard spectrum) Logarithmic scaled of the Hadamard spectrum
  • 41. 41 Hadamard Transform (HT)  % Program written in Matlab for computing HT of a given gray color image.  clear;  % Getting the name and extension of the image file from the user.  name=input('Please write the name and address of the image : ','s');  a=imread(name);  N=length(a);  % Computing Hadamard Transform of the image file.  n=log2(N);n=1+fix(n);f=ones(N,N);  for x=1:N; for u=1:N  p=dec2bin(x-1,n); q=dec2bin(u-1,n);  for i=1:n; f(x,u)=f(x,u)*((-1)^(p(n+1-i)*q(n+1-i)));  end;end;end  F=(1/N)*f*double(a)*f; MATLAB program page 1 from 3.
  • 42. 42 Hadamard Transform (HT)  % Shifting the Fourier spectrum to the center of the frequency square.  for i=1:N/2; for j=1:N/2  G(i+N/2,j+N/2)=F(i,j);  end;end  for i=N/2+1:N; for j=1:N/2  G(i-N/2,j+N/2)=F(i,j);  end;end  for i=1:N/2; for j=N/2+1:N  G(i+N/2,j-N/2)=F(i,j);  end;end  for i=N/2+1:N; for j=N/2+1:N  G(i-N/2,j-N/2)=F(i,j);  end;end MATLAB program page 2 from 3.
  • 43. 43 Hadamard Transform (HT)  % Computing and scaling the logarithmic Hadamard spectrum.  H=log(1+abs(G));  for i=1:N  H(i,:)=H(i,:)*255/abs(max(H(i,:)));  end  % Changing the color map to gray scale (8 bits).  colormap(gray(255));  % Showing the main image and its Hadamard spectrum.  subplot(2,2,1),image(a),title('Main image');  subplot(2,2,2),image(abs(G)),title('Hadamard spectrum');  subplot(2,2,3),image(H),title('Logarithmic scaled Hadamard spectrum'); MATLAB program page 3 from 3.
  • 45. 45 1-D WHT Kernel Functions
  • 46. 46 2-D WHT Kernel Functions
  • 47. 47 WHT and Fourier Transform
  • 50. 50 Discrete Cosine Transform (DCT) Each block consists of 4×4 elements, corresponding to x and y varying from 0 to 3. The highest value is shown in white. Other values are shown in grays, with darker meaning smaller.
  • 51. 51 Discrete Cosine Transform Example Main Image (Gray Level) DCT of Main image (Cosine spectrum) Logarithmic scaled of the Cosine spectrum
  • 52. 52 Discrete Cosine Transform  % Program written in Matlab for computing DCT of a given gray color image.  % Clear the memory.  clear;  % Getting the name and extension of the image file from the user.  name=input('Please write the name and address of the image : ','s');  % Reading the image file into variable 'a'.  a=imread(name);  % Computing the size of image. Assuming that image is squared.  N=length(a);  % Computing DCT of the image file.  F=dct2(double(a)); MATLAB program page 1 from 3.
  • 53. 53 Discrete Cosine Transform  % Shifting the Fourier spectrum to the center of the frequency square.  for i=1:N/2; for j=1:N/2  G(i+N/2,j+N/2)=F(i,j);  end;end  for i=N/2+1:N; for j=1:N/2  G(i-N/2,j+N/2)=F(i,j);  end;end  for i=1:N/2; for j=N/2+1:N  G(i+N/2,j-N/2)=F(i,j);  end;end  for i=N/2+1:N; for j=N/2+1:N  G(i-N/2,j-N/2)=F(i,j);  end;end MATLAB program page 2 from 3.
  • 54. 54 Discrete Cosine Transform  % Computing and scaling the logarithmic Cosine spectrum.  H=log(1+abs(G));  for i=1:N  H(i,:)=H(i,:)*255/abs(max(H(i,:)));  end  % Changing the color map to gray scale (8 bits).  colormap(gray(255));  % Showing the main image and its Cosine spectrum.  subplot(2,2,1),image(a),title('Main image');  subplot(2,2,2),image(abs(G)),title('Cosine spectrum');  subplot(2,2,3),image(H),title('Logarithmic scaled Cosine spectrum'); MATLAB program page 3 from 3.
  • 55. 55 DCT and Fourier Transform
  • 60. 60 Haar Transform The Haar transform is based on the Haar functions, hk(z), which are defined over the continuous, closed interval [0,1] for z, and for k=0,1,2,…,N-1, where N=2n . The first step in generating the Haar transform is to note that the integer k can be decomposed uniquely as k=2p +q-1 where 0≤p≤n-1, q=0 or 1 for p=0, and 1≤q≤2p for p≠0. With this background, the Haar functions are defined as ( ) ( ) [ ] ( ) ( ) [ ]         ∈ ≤ − − − ≤ − == ∈== ∆ ∆ 1,0zforotherwise0 2 q z 2 2/1q 2 2 2/1q z 2 1q 2 N 1 zhzh and 1,0zfor N 1 zhzh pp 2/p pp 2/p 00k 000  
  • 61. 61 Haar Transform  Haar transform matrix for sizes N=2,4,8       − = 11 11 2 1 Hr2               −− − − = 2011 2011 0211 0211 4 1 Hr4                           −−− −− −− − −− − − = 20002011 20002011 02002011 02002011 00200211 00200211 00020211 00020211 8 1 Hr8 Can be computed by taking sums and differences. Fast algorithms by recursively applying Hr2.
  • 64. 64 Haar Transform MATLAB program page 1 from 1. % Program written in Matlab for computing HT of a given gray color image. % Getting the name and extension of the image file from the user. name=input('Please write the name and address of the image : ','s'); a=imread(name); N=length(a); % Computing Haar Transform of the image file. for i=1:N p=fix(log2(i)); q=i-(2^p); for j=1:N z=(j-1)/N; if (z>=(q-1)/(2^p))&&(z<(q-1/2)/2^p) f(i,j)=(1/(sqrt(N)))*(2^(p/2)); elseif (z>=(q-1/2)/(2^p))&&(z<(q/2^p)) f(i,j)=(1/(sqrt(N)))*(-(2^(p/2))); else f(i,j)=0; end;end;end F=f*double(a)*f; % Changing the color map to gray scale (8 bits). colormap(gray(255)); % Showing the main image and its Hadamard spectrum. subplot(2,2,1),image(a),title('Main image'); subplot(2,2,2),image(abs(F)),title('Haar spectrum');
  • 65. 65 Slant Transform  The Slant Transform matrix of order N*N is the recursive expression
  • 66. 66 Slant Transform       − = 11 11 2 1 S2 ( ) 2 1 2 2 N 1N4 N3 a       − = Where I is the identity matrix, and ( ) 2 1 2 2 N 1N4 4N b       − − =
  • 67. 67 Slant Transform Example Main Image (Gray Level) Slant Transform of Main image (Slant spectrum)
  • 68. 68 Slant Transform MATLAB program page 1 from 1. % Program written in Matlab for computing ST of a given gray color image. % Getting the name and extension of the image file from the user. name=input('Please write the name and address of the image : ','s'); a=imread(name); N=length(a); % Computing Slant Transform of the image file. A=[ 1/(2^0.5) 1/(2^0.5);1/(2^0.5) -1/(2^0.5)]; for i=2:log2(N) N=2^i; aN=((3*(N^2))/(4*((N^2)-1)))^0.5; bN=(((N^2)-4)/(4*((N^2)-1)))^0.5; m=1/(2^0.5)*[1 0 zeros(1,(N/2)-2) 1 0 zeros(1,(N/2)-2) aN bN zeros(1,(N/2)-2) -aN bN zeros(1,(N/2)-2) zeros((N/2)-2,2) eye((N/2)-2) zeros((N/2)-2,2) eye((N/2)-2) 0 1 zeros(1,(N/2)-2) 0 -1 zeros(1,(N/2)-2) -bN aN zeros(1,(N/2)-2) bN aN zeros(1,(N/2)-2) zeros((N/2)-2,2) eye((N/2)-2) zeros((N/2)-2,2) -eye((N/2)-2)]; n=[A A-A;A-A A]; A=m*n; end F=A*double(a)*A; % Changing the color map to gray scale (8 bits). colormap(gray(255)); % Showing the main image and its Hadamard spectrum. subplot(2,2,1),image(a),title('Main image'); subplot(2,2,2),image(abs(F)),title('Slant spectrum');
  • 73. 73 References  “Digital image processing” by Rafael C. Gonzalez and Richard E. Woods  “Digital image processing” by Jain  Image communication I by Bernd Girod  Lecture 3, DCS339/AMCM053 by Pengwei Hao, University of London