1 chapter 4: frequency domain processing image transformations iust

73
1 Chapter 4: Frequency Domain Processing Image Transformations IUST

Upload: erika-perkins

Post on 28-Dec-2015

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

1

Chapter 4:Frequency Domain Processing

Image Transformations

IUST

Page 2: 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

Page 3: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

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

4

Fourier Transform (1-D)

uX

uXsinAXuF

euXsinu

Adxux2jexpxfuF uXj

Page 5: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

27

The Fast Fourier Transform (FFT) Algorithm

Page 28: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

44

Walsh-Hadamard Transform (WHT)

Page 45: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

45

1-D WHT Kernel Functions

Page 46: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

46

2-D WHT Kernel Functions

Page 47: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

47

WHT and Fourier Transform

Page 48: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

48

WHT Example

Page 49: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

49

Discrete Cosine Transform

Page 50: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

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

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

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

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

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

55

DCT and Fourier Transform

Page 56: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

56

DCT Example

Page 57: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

57

Blockwise DCT Example

Page 58: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

58

Fast DCT Algorithm

Page 59: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

59

Fast DCT Algorithm

Page 60: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

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

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

62

Haar Transform Example

Page 63: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

63

Haar Transform Example

Page 64: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

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

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

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

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

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

69

Comparison Of Various Transforms

Page 70: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

70

Comparison Of Various Transforms

Page 71: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

71

Comparison Of Various Transforms

Page 72: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

72

Comparison Of Various Transforms

Page 73: 1 Chapter 4: Frequency Domain Processing Image Transformations IUST

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