0% found this document useful (0 votes)
32 views5 pages

Image Processing and Pattern Recognition: Experiment VI

The document describes an image processing experiment applying various frequency domain filters to an image with Gaussian noise. These filters include arithmetic, harmonic, geometric, contraharmonic, and alpha trimmed filters. Code is provided to implement each filter on the noisy input image. The output shows the results of applying each filter. The conclusion is that the arithmetic and harmonic filters produce results most similar to the frequency domain filters.

Uploaded by

xyz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views5 pages

Image Processing and Pattern Recognition: Experiment VI

The document describes an image processing experiment applying various frequency domain filters to an image with Gaussian noise. These filters include arithmetic, harmonic, geometric, contraharmonic, and alpha trimmed filters. Code is provided to implement each filter on the noisy input image. The output shows the results of applying each filter. The conclusion is that the arithmetic and harmonic filters produce results most similar to the frequency domain filters.

Uploaded by

xyz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Image Processing and Pattern Recognition

Experiment VI
11bce022
Objective: For the same image set enhanced using frequency domain filter find
closest spatial domain filter to obtain similar images.

List of Frequency Domain Filters I have used:


(1) Arithmetic Filter
(2) Harmonic Filter
(3) Geometric Filter
(4) Contra harmonic Filter
(5) Alpha Trimmed Filter

Implementation Code:
I = imread('C:\Users\Niks_$marty\Desktop\Lena.jpg');
I = imnoise(I,'gaussian');
figure;
subplot(2,3,1);
imshow(I);
title('Gaussian Noise Image');
[m,n] = size(I);
m_size=input('Mask Size');
mn=(m_size)*(m_size);
p=floor(m_size/2);
disp(p);
%padding
for i = 1:m+(m_size-1)
for j = 1:n+(m_size-1)
for i=1:p
B(i,j) = 0;
end

for j=1:p
B(i,j) = 0;
end
q=m+p+1;
r=(2*p+m);
for i=q : r
B(i,j) = 0;
end
for j=q : r
B(i,j) = 0;
end

end
end
% Arithmetic Filter
for i = 1:m-2
for j = 1:n-2
A(i,j) = uint8(I(i,j)/mn + I(i,j+1)/mn + I(i,j+2)/mn + I(i+1,j)/mn + I(i+1,j+1)/mn +
I(i+1,j+2)/mn + I(i+2, j)/mn + I(i+2,j+1)/mn + I(i+2,j+2)/mn);
end
end
subplot(2,3,2);
imshow(A);
title('Arithmetic Filter');
for i = 1:m+2
for j = 1:n+2
if (i==1)||(j==1)
C(i,j) = 0;
elseif (i==m+2)||(j==m+2)
C(i,j) = 0;
else
C(i,j) = I(i-1,j-1);
end
end
end
% Harmonic Filter

for i = 1:m
for j = 1:n
D(i,j) = uint8(9/(1/C(i,j) + 1/C(i,j+1) + 1/C(i,j+2) + 1/C(i+1,j) + 1/C(i+1,j+1) + 1/C(i+1,j+2) +
1/C(i+2, j) + 1/C(i+2,j+1) + 1/C(i+2,j+2)));
end
end
subplot(2,3,3);
imshow(D);
title('Harmonic Filter');

for i = 1:m+2
for j = 1:n+2
if (i==1)||(j==1)
E(i,j) = 0;
elseif (i==m+2)||(j==m+2)
E(i,j) = 0;
else
E(i,j) = I(i-1,j-1);
end
end
end
% Geometric Filter
for i = 1:m
for j = 1:n
F(i,j) = uint8((E(i,j) * E(i,j+1) * E(i,j+2) * E(i+1,j) * E(i+1,j+1) * E(i+1,j+2) * E(i+2, j) *
E(i+2,j+1) * E(i+2,j+2))^(1/9-2));
end
end
subplot(2,3,4);
imshow(F);
title('Geometric Filter');
Q = input('Order of filter:');
for i = 1:m+2
for j = 1:n+2
if (i==1)||(j==1)
G(i,j) = 0;
elseif (i==m+2)||(j==m+2)

G(i,j) = 0;
else
G(i,j) = I(i-1,j-1);
end
end
end
% Contra Harmonic Filter
for i = 1:m
for j = 1:n
H(i,j) = uint8(((G(i,j) + G(i,j+1) + G(i,j+2) + G(i+1,j) + G(i+1,j+1) + G(i+1,j+2) + G(i+2, j) +
G(i+2,j+1) + G(i+2,j+2))^(Q+1))/(G(i,j) + G(i,j+1) + G(i,j+2) + G(i+1,j) + G(i+1,j+1) + G(i+1,j+2) +
G(i+2, j) + G(i+2,j+1) + G(i+2,j+2))^(Q));
end
end
subplot(2,3,5);
imshow(H);
title('Contraharmonic Filter');

for i = 1:m+2
for j = 1:n+2
if (i==1)||(j==1)
J(i,j) = 0;
elseif (i==m+2)||(j==m+2)
J(i,j) = 0;
else
J(i,j) = I(i-1,j-1);
end
end
end

% Alpha Trimmed Filter


for i = 1:m-2
for j = 1:n-2
K(i,j) = uint8((J(i,j) * J(i,j+1) * J(i,j+2) * J(i+1,j) * J(i+1,j+1) * J(i+1,j+2) * J(i+2, j) * J(i+2,j+1)
* J(i+2,j+2))^(1/7));
end

end
subplot(2,3,6);
imshow(K);
title('Alpha Trimmed Filter');

Output:

Conclusion: Closest Filter are Arithmetic and Harmonic Filter

You might also like