1 Chapter 4: Frequency Domain Processing Image Transformations IUST.
-
Upload
erika-perkins -
Category
Documents
-
view
221 -
download
2
Transcript of 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.
![Page 1: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/1.jpg)
1
Chapter 4:Frequency Domain Processing
Image Transformations
IUST
![Page 2: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/2.jpg)
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
![Page 3: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/3.jpg)
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.
![Page 4: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/4.jpg)
4
Fourier Transform (1-D)
uX
uXsinAXuF
euXsinu
Adxux2jexpxfuF uXj
![Page 5: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/5.jpg)
5
Fourier Transform (2-D)
vY
vYsin
uX
uXsinAXYv,uFdydxvyux2jexpy,xf)v,u(F
![Page 6: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/6.jpg)
6
Discrete Fourier Transform
In the two-variable case the discrete Fourier transform pair is
![Page 7: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/7.jpg)
7
Discrete Fourier Transform
When images are sampled in a squared array, i.e. M=N, we can write
![Page 8: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/8.jpg)
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.
![Page 9: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/9.jpg)
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.
![Page 10: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/10.jpg)
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.
![Page 11: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/11.jpg)
11
Discrete Fourier Transform
Example
Main Image (Gray Level) DFT of Main image
(Fourier spectrum)
Logarithmic scaled
of the Fourier spectrum
![Page 12: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/12.jpg)
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.
![Page 13: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/13.jpg)
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.
![Page 14: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/14.jpg)
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.
![Page 15: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/15.jpg)
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/ux2jexpN
1y,xf
N/vy2jexpy,xfN/ux2jexpN
1v,uF
![Page 16: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/16.jpg)
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 :
![Page 17: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/17.jpg)
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)|
![Page 18: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/18.jpg)
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.
![Page 19: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/19.jpg)
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
![Page 20: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/20.jpg)
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
*
*
![Page 21: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/21.jpg)
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).
![Page 22: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/22.jpg)
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
![Page 23: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/23.jpg)
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)
![Page 24: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/24.jpg)
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.
![Page 25: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/25.jpg)
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.
![Page 26: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/26.jpg)
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).
![Page 27: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/27.jpg)
27
The Fast Fourier Transform (FFT) Algorithm
![Page 28: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/28.jpg)
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)
![Page 29: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/29.jpg)
29
Other Seperable Image Transforms
AFAT
BTBF
AB
BAFABBTB1
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:
![Page 30: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/30.jpg)
30
Walsh Transform
When N=2n, the 2-D forward and inverse Walsh kernels are given by the relations
1n
0i
vbybubxb1n
0i
vbybubxb i1nii1nii1nii1ni 1N
1v,u,y,xhand1
N
1v,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:
![Page 31: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/31.jpg)
31
Walsh Transform
“+” denotes for +1 and “-” denotes for -1.
1n
0i
ubxb i1ni1N
1u,xgIn 1-D case we have :
In the following table N=8 so n=3 (23=8).
1-D kernel
![Page 32: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/32.jpg)
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.
![Page 33: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/33.jpg)
33
Walsh Transform
Example
Main Image (Gray Level) WT of Main image
(Walsh spectrum)
Logarithmic scaled
of the Walsh spectrum
![Page 34: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/34.jpg)
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.
![Page 35: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/35.jpg)
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.
![Page 36: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/36.jpg)
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.
![Page 37: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/37.jpg)
37
Hadamard Transform
When N=2n, the 2-D forward and inverse Hadamard kernels are given by the relations
1n
0i
vbybubxb1n
0i
vbybubxb iiiiiiii 1N
1v,u,y,xhand1
N
1v,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:
![Page 38: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/38.jpg)
38
Hadamard Transform
1n
0i
ubxb ii1N
1u,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.
![Page 39: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/39.jpg)
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.
![Page 40: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/40.jpg)
40
Hadamard Transform
Example
Main Image (Gray Level) HT of Main image
(Hadamard spectrum)
Logarithmic scaled
of the Hadamard spectrum
![Page 41: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/41.jpg)
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.
![Page 42: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/42.jpg)
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.
![Page 43: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/43.jpg)
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.
![Page 44: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/44.jpg)
44
Walsh-Hadamard Transform (WHT)
![Page 45: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/45.jpg)
45
1-D WHT Kernel Functions
![Page 46: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/46.jpg)
46
2-D WHT Kernel Functions
![Page 47: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/47.jpg)
47
WHT and Fourier Transform
![Page 48: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/48.jpg)
48
WHT Example
![Page 49: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/49.jpg)
49
Discrete Cosine Transform
![Page 50: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/50.jpg)
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.
![Page 51: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/51.jpg)
51
Discrete Cosine Transform
Example
Main Image (Gray Level) DCT of Main image
(Cosine spectrum)
Logarithmic scaled
of the Cosine spectrum
![Page 52: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/52.jpg)
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.
![Page 53: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/53.jpg)
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.
![Page 54: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/54.jpg)
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.
![Page 55: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/55.jpg)
55
DCT and Fourier Transform
![Page 56: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/56.jpg)
56
DCT Example
![Page 57: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/57.jpg)
57
Blockwise DCT Example
![Page 58: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/58.jpg)
58
Fast DCT Algorithm
![Page 59: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/59.jpg)
59
Fast DCT Algorithm
![Page 60: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/60.jpg)
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,0zforotherwise02
qz
2
2/1q2
2
2/1qz
2
1q2
N
1zhzh
and
1,0zforN
1zhzh
pp2/p
pp2/p
00k
000
![Page 61: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/61.jpg)
61
Haar Transform
Haar transform matrix for sizes N=2,4,8
11
11
2
1Hr2
2011
2011
0211
0211
4
1Hr4
20002011
20002011
02002011
02002011
00200211
00200211
00020211
00020211
8
1Hr8
Can be computed by taking sums and differences.
Fast algorithms by recursively applying Hr2.
![Page 62: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/62.jpg)
62
Haar Transform Example
![Page 63: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/63.jpg)
63
Haar Transform Example
![Page 64: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/64.jpg)
64
Haar TransformMATLAB 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;endF=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');
![Page 65: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/65.jpg)
65
Slant Transform
The Slant Transform matrix of order N*N is the recursive expression
![Page 66: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/66.jpg)
66
Slant Transform
11
11
2
1S2
2
1
2
2
N 1N4
N3a
Where I is the identity matrix, and
2
1
2
2
N 1N4
4Nb
![Page 67: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/67.jpg)
67
Slant Transform
Example
Main Image (Gray Level) Slant Transform of Main image
(Slant spectrum)
![Page 68: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/68.jpg)
68
Slant TransformMATLAB 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;endF=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');
![Page 69: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/69.jpg)
69
Comparison Of Various Transforms
![Page 70: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/70.jpg)
70
Comparison Of Various Transforms
![Page 71: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/71.jpg)
71
Comparison Of Various Transforms
![Page 72: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/72.jpg)
72
Comparison Of Various Transforms
![Page 73: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST.](https://reader037.fdocuments.us/reader037/viewer/2022110100/56649e4c5503460f94b41c8c/html5/thumbnails/73.jpg)
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