Upload
xyz
View
213
Download
2
Embed Size (px)
DESCRIPTION
This document is about Pattern Recognition.
Citation preview
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