Anda di halaman 1dari 18

Laporan Praktikum 4

Image Restoration Using Global Filter

Nama : Farhan Farian Hartono


NRP : 3220600055
Kelas : 2 D4 Teknik Komputer B
Dosen : Prof. Ir Dadet Pramadihanto
Matkul : Pengolahan Sinyal dan Citra
Tanggal : 12 April 2022

Praktikum 4
Image Restoration Using Global Filter (Notch)

I. Tujuan
1. Dapat mengetahui dan bisa melakukan percobaan mengenai Image
Restoration Using global Filter (Notch)

II. Dasar Teori


Notch-filter dapat didefinisikan sebagai band stop yang memiliki
bandwidth frekuensi yang sangat sempit. Kedalaman yang luar biasa, faktor
kualitas tinggi, dan ketajaman dalam penolakan pita menjadi ciri filter takik.
Cara kerja dari filter takik memiliki prinsip yang sama dengan filter band-reject.
Ini memungkinkan semua komponen frekuensi lain dari sinyal dan memblokir
bandwidth sempit yang ditentukan. Untuk desain pasif, reaktansi resistif,
kapasitif, dan induktif berperan dalam mengendalikan frekuensi. Notch-filter
memiliki persamaan sebagai berikut :
 Batas HF dari LPF: fL = 1 / ( 2 * RLP * CLP * )
 Batas LF dari HPF: fH = 1 / ( 2 * RHP * CHP * )
 Faktor kualitas filter takik: Q = fr / Lebar Pita

III. Prosedur Percobaan


1. Buka aplikasi MATLAB
2. Klik “New” dan “Script”

3. Simpan terlebih dahulu file MATLAB

4. Tuliskan code pada script matlab


 Notch Band Reject
 Ideal
Program :

%Ideal Notch Filter


clc;
clear all;
close all;

a=imread('img3.jpg');
a = imresize(a,[256 256]);
a = rgb2gray(a);
a = im2double(a);%convert the range of colors from 0-255
to 0-1
subplot(3,3,1);
imshow(a);
title('Image without noise');

A = fft2(a); %fourier transform of image


A_shift = fftshift(A); %shifting origin
A_real = abs(A_shift); %Magnitude of A_shift(Freq. domain
repre.) subplot(3,3,2)
imshow(uint8(A_real));
title('Frequency domain image (w/o noise)');

% add noise
[m,n] = size(a);
for i=1:m for j=1:n
a_1(i,j)=a(i,j)+sin(5*i);
end
end
subplot(3,3,3);
imshow(a_1);
title('Image with noise');
A = fft2(a_1); %fourier transform of image
A_shift = fftshift(A); %shifting origin
A_real = abs(A_shift); %Magnitude of A_shift(Freq. domain
repre.) subplot(3,3,4)
imshow(uint8(A_real));
title('Frequency domain image (w/ noise)');

D0 = 35; %Cut-Off frequency OR Standard deviation sigm52


u0 = 55;
v0 = 0;

for u=1:m
for v=1:n
D1 =((u-m/2-u0).^2+(v-n/2-v0).^2).^0.5;
D2 =((u-m/2+u0).^2+(v-n/2+v0).^2).^0.5;

if ((D1<=D0)||(D2<=D0))
H(u,v) = 0;
else
H(u,v) = 1;
end
end
end

H_high = H.*A_shift; H_high_real =


H.*A_real; H_high_shift =
fftshift(H_high); H_high_image =
ifft2(H_high_shift);

subplot(3,3,5)
imshow(H)
title('Ideal Notch Reject Filter');

subplot(3,3,6) imshow(uint8(H_high_real))
title('Frequency domain after filtered');

subplot(3,3,7)
imshow(abs(H_high_image));
title('Ideal Notch Reject Filtered image');

- Gaussian
clc;
clear all;
close all;
%read image
a=imread('img3.jpg');
%resize image to 256x256
a = imresize(a,[256 256]);
%convert image to grayscale
a = rgb2gray(a);
%convert the range of colors from 0-255 to 0-1
a = im2double(a);

subplot(3,3,1);
imshow(a);
title('Image without noise');
A = fft2(a); %fourier transform of image
A_shift = fftshift(A); %shifting origin
A_real = abs(A_shift); %Magnitude of A_shift(Freq. domain
repre.)
subplot(3,3,2)
imshow(uint8(A_real));
title('Frequency domain image (w/o noise)');

%add noise
[m,n] = size(a);
for i=1:m
for j=1:n a_1(i,j)=a(i,j)
+sin(5*i); end
end
subplot(3,3,3);
imshow(a_1);
title('Image with noise');

A = fft2(a_1); %fourier transform of image


A_shift = fftshift(A); %shifting origin
A_real = abs(A_shift); %Magnitude of A_shift(Freq. domain
repre.)
subplot(3,3,4)
imshow(uint8(A_real));
title('Frequency domain image (w/ noise)');

D0 = 35; %Cut-Off frequency OR Standard deviation sigm


u0 = 55;
v0 = 0;

%W = 10; %Width of rejection


for u=1:m
for v=1:n
D1 =((u-m/2-u0).^2+(v-n/2-v0).^2).^0.5;
D2 =((u-m/2+u0).^2+(v-n/2+v0).^2).^0.5;
H(u,v) = 1 - exp(-(1/2)*((D1*D2)/(D0).^2)^2);
%H(u,v) = 1-H(u,v);
end
end
H_high = H.*A_shift; H_high_real =
H.*A_real; H_high_shift =
fftshift(H_high); H_high_image =
ifft2(H_high_shift);

subplot(3,3,5)

imshow(H)
title('Gaussian Notch Band Reject Filter');

subplot(3,3,6) imshow(uint8(H_high_real))
title('Frequency domain after filtered');

subplot(3,3,7)
imshow(abs(H_high_image));
title('Gaussian Notch Band Reject Filtered image');
 Butterworth
Program :

clc;
clear all;
close all;

%read image
a=imread('img3.jpg');
%resize image
a = imresize(a,[256 256]);
%convert to grayscale
a = rgb2gray(a);
%convert the range of colors from 0-255 to 0-1
a = im2double(a);

subplot(3,3,1);
imshow(a);
title('Image without noise');

A = fft2(a); %fourier transform of image


A_shift = fftshift(A); %shifting origin
A_real = abs(A_shift); %Magnitude of A_shift(Freq. domain
repre.)
subplot(3,3,2)
imshow(uint8(A_real));
title('Frequency domain image (w/o noise)');

%add noise
[m,n] = size(a);
for i=1:m
for j=1:n a_1(i,j)=a(i,j)
+sin(5*i); end
end
subplot(3,3,3);
imshow(a_1);
title('Image with noise');

A = fft2(a_1); %fourier transform of image


A_shift = fftshift(A); %shifting origin
A_real = abs(A_shift); %Magnitude of A_shift(Freq. domain
repre.)
subplot(3,3,4)
imshow(uint8(A_real));
title('Frequency domain image (w/ noise)');

D0 = 35; %Cut-Off frequency OR Standard deviation sigm52


u0 = 55;
v0 = 0;
nOrde = 5; %Order of Filter
for u=1:m
for v=1:n
D1 =((u-m/2-u0).^2+(v-n/2-v0).^2).^0.5;
D2 =((u-m/2+u0).^2+(v-n/2+v0).^2).^0.5;
H(u,v) = 1./(1+(((D0.^2)./ (D1 * D2)).^nOrde));
%H(u,v) = 1 - H(u,v);
end
end

H_high = H.*A_shift; H_high_real =


H.*A_real; H_high_shift =
fftshift(H_high); H_high_image =
ifft2(H_high_shift);

subplot(3,3,5)
imshow(H)
title('Butterworth Band Notch Reject Filter');

subplot(3,3,6) imshow(uint8(H_high_real))
title('Frequency domain after filtered');

subplot(3,3,7)
imshow(abs(H_high_image));
title('Butterworth Band Notch Reject Filtered image');

 Notch Band Pass


 Ideal
Program :

clc;
clear all;
close all;

a=imread('img3.jpg');
a = imresize(a,[256 256]);
a = rgb2gray(a);
a = im2double(a);%convert the range of colors from 0-255
to 0-1
subplot(3,3,1);
imshow(a);
title('Image without noise');

A = fft2(a); %fourier transform of image


A_shift = fftshift(A); %shifting origin
A_real = abs(A_shift); %Magnitude of A_shift(Freq. domain
repre.)
subplot(3,3,2)
imshow(uint8(A_real));
title('Frequency domain image (w/o noise)');

%add noise

[m,n] = size(a);
for i=1:m
for j=1:n a_1(i,j)=a(i,j)
+sin(5*i); end
end
subplot(3,3,3);
imshow(a_1);
title('Image with noise');

A = fft2(a_1); %fourier transform of image


A_shift = fftshift(A); %shifting origin
A_real = abs(A_shift); %Magnitude of A_shift(Freq. domain
repre.) subplot(3,3,4)
imshow(uint8(A_real));
title('Frequency domain image (w/ noise)');

D0 = 35; %Cut-Off frequency OR Standard deviation sigm52


u0 = 55;
v0 = 0;

for u=1:m
for v=1:n
D1 =((u-m/2-u0).^2+(v-n/2-v0).^2).^0.5;
D2 =((u-m/2+u0).^2+(v-n/2+v0).^2).^0.5;

if ((D1<=D0)||(D2<=D0))
H(u,v) = 0;
else
H(u,v) = 1;
end
H(u,v) = 1 - H(u,v);
end
end

H_high = H.*A_shift; H_high_real =


H.*A_real; H_high_shift =
fftshift(H_high); H_high_image =
ifft2(H_high_shift);

subplot(3,3,5)
imshow(H)
title('Ideal Notch Reject Filter');

subplot(3,3,6) imshow(uint8(H_high_real))
title('Frequency domain after filtered');

subplot(3,3,7)
imshow(abs(H_high_image));
title('Ideal Notch Reject Filtered image');

 Gaussian
Program :
clc;
clear all;
close all;
%read image
a=imread('img3.jpg');
%resize image to 256x256
a = imresize(a,[256 256]);
%convert image to grayscale
a = rgb2gray(a);
%convert the range of colors from 0-255 to 0-1
a = rgb2gray(a);
%convert the range of colors from 0-255 to 0-1
a = im2double(a);
subplot(3,3,1);
imshow(a);
title('Image without noise');

A = fft2(a); %fourier transform of image


A_shift = fftshift(A); %shifting origin
A_real = abs(A_shift); %Magnitude of A_shift(Freq. domain
repre.)
subplot(3,3,2)
imshow(uint8(A_real));
title('Frequency domain image (w/o noise)');

%add noise
[m,n] = size(a);
for i=1:m
for j=1:n a_1(i,j)=a(i,j)
+sin(5*i); end
end
subplot(3,3,3);
imshow(a_1);
title('Image with noise');
A = fft2(a_1); %fourier transform of image
A_shift = fftshift(A); %shifting origin
A_real = abs(A_shift); %Magnitude of A_shift(Freq. domain
repre.)
subplot(3,3,4)
imshow(uint8(A_real));
title('Frequency domain image (w/ noise)');
D0 = 35; %Cut-Off frequency OR Standard deviation sigm
u0 = 55;
v0 = 0;
%W = 10; %Width of rejection
for u=1:m
for v=1:n
D1 =((u-m/2-u0).^2+(v-n/2-v0).^2).^0.5;
D2 =((u-m/2+u0).^2+(v-n/2+v0).^2).^0.5;
H(u,v) = 1 - exp(-(1/2)*((D1*D2)/(D0).^2)^2);
H(u,v) = 1-H(u,v);
end
end
H_high = H.*A_shift; H_high_real =
H.*A_real; H_high_shift =
fftshift(H_high); H_high_image =
ifft2(H_high_shift);

subplot(3,3,5)
imshow(H)
title('Gaussian Notch Band Pass Filter');

subplot(3,3,6)
imshow(uint8(H_high_real))
title('Frequency domain after filtered');

subplot(3,3,7)
imshow(abs(H_high_image));
title('Gaussian Notch Band Pass Filtered image');
 Butterworth
Program :

clc;
clear all;
close all;

%read image
a=imread('img3.jpg');
%resize image
a = imresize(a,[256 256]);
%convert to grayscale
a = rgb2gray(a);
%convert the range of colors from 0-255 to 0-1
a = im2double(a);

subplot(3,3,1);
imshow(a);
title('Image without noise');

A = fft2(a); %fourier transform of image


A_shift = fftshift(A); %shifting origin
A_real = abs(A_shift); %Magnitude of A_shift(Freq.
domain repre.)
subplot(3,3,2)
imshow(uint8(A_real));
title('Frequency domain image (w/o noise)');

%add noise
[m,n] = size(a);
for i=1:m
for j=1:n a_1(i,j)=a(i,j)
+sin(5*i); end
end
subplot(3,3,3);
imshow(a_1);
title('Image with noise');

A = fft2(a_1); %fourier transform of image


A_shift = fftshift(A); %shifting origin
A_real = abs(A_shift); %Magnitude of A_shift(Freq.
domain repre.)
subplot(3,3,4)
imshow(uint8(A_real));
title('Frequency domain image (w/ noise)');

D0 = 35; %Cut-Off frequency OR Standard deviation sigm52


u0 = 55;
v0 = 0;
nOrde = 5; %Order of Filter
for u=1:m
for v=1:n
D1 =((u-m/2-u0).^2+(v-n/2-v0).^2).^0.5;
D2 =((u-m/2+u0).^2+(v-n/2+v0).^2).^0.5;
H(u,v) = 1./(1+(((D0.^2)./ (D1 * D2)).^nOrde));
H(u,v) = 1 - H(u,v);
end
end

H_high = H.*A_shift; H_high_real =


H.*A_real; H_high_shift =
fftshift(H_high); H_high_image =
ifft2(H_high_shift);

subplot(3,3,5)
imshow(H)
title('Butterworth Band Notch Pass Filter');

subplot(3,3,6) imshow(uint8(H_high_real))
title('Frequency domain after filtered');

subplot(3,3,7)
imshow(abs(H_high_image));
title('Butterworth Band Notch Pass Filtered image');

IV. Hasil Percobaan

 Notch Band Reject


 Ideal
 Gaussian

 Butterworth

 Notch Band Pass


 Ideal
 Gaussian

 Butterworth

V. Analisa

Pada percobaan praktikum keempat, dibuat program band reject notch filter
dan band pass filter pada ideal, gaussian, dan butterworth filter. Untuk membuat
notch band reject filter dan notch band pass filter, maka pertama-tama perlu
diketahui rumus dari masing-masing notch filter.Oleh karena itu, untuk notch pass
filter dapat digunakan rumus sebagai berikut :
Setelah diketahui rumus-rumus tersebut, maka akan diimplementasikan
ke dalam progam sebagai berikut :

- Ideal Notch Filter


Pertama-tama dibuat terlebih dahulu Ideal Notch Band Reject Filter
,sesuai dengan rumus Ideal Band Reject Notch Filter, dihitung terlebih dahulu
nilai D1 dan D2. Kemudian, program masuk ke dalam if dengan kondisi
apabila nilai D1 lebih kecil dari/sama dengan nilai D0 atau nilai D2
lebih kecil dari/sama dengan nilai D0 maka nilai H(u,v) bernilai 1, selain itu
H(u,v) bernilai 0.
for u=1:m
for v=1:n
D1 =((u-m/2-u0).^2+(v-n/2-v0).^2).^0.5;
D2 =((u-m/2+u0).^2+(v-n/2+v0).^2).^0.5;

if ((D1<=D0)||(D2<=D0))
H(u,v) = 0;
else
H(u,v) = 1;
end
end
end

- Gaussian Notch Filter


Pertama-tama dibuat terlebih dahulu Gaussian Notch Band Reject Filter
,sesuai dengan rumus Gaussian Notch Band Reject Filter, dihitung terlebih
dahulu nilai D1 dan D2. Kemudian, akan dihitung nilai H(u,v) sesuai rumus
Gaussian Notch Band Reject Filter
for u=1:m
for v=1:n
D1 =((u-m/2-u0).^2+(v-n/2-v0).^2).^0.5;
D2 =((u-m/2+u0).^2+(v-n/2+v0).^2).^0.5;
H(u,v) = 1 - exp(-(1/2)*((D1*D2)/(D0).^2)^2);
%H(u,v) = 1-H(u,v);

- Butterworth Notch Filter


Pertama-tama dibuat terlebih dahulu Butterworth Notch Band Reject
Filter ,sesuai dengan rumus Butterworth Notch Band Reject Filter, dihitung
terlebih dahulu nilai D1 dan D2. Kemudian, akan dihitung nilai H(u,v) sesuai
rumus Butterworth Notch Band Reject Filter
for u=1:m
for v=1:n
D1 =((u-m/2-u0).^2+(v-n/2-v0).^2).^0.5;
D2 =((u-m/2+u0).^2+(v-n/2+v0).^2).^0.5;
H(u,v) = 1./(1+(((D0.^2)./ (D1 * D2)).^nOrde));
%H(u,v) = 1 - H(u,v);
end
end
Kemudian, dicoba melakukan perbandingan antara ideal notch reject filter,
gaussian notch reject filter, dan butterworth reject filter. Pada percobaan, digunakan
cut off frequency (D0) sebesar 35, nilai u0 sebesar 55, v0 sebesar 0, dan n order
untuk filter butterworth bernilai 5. Terlihat perbedaan antar gambar dengan filter
yang berbeda. Pada Ideal Notch Reject Filtered Image, noise masih terlihat sedikit
pada bagian background mawar dan pada sekitar gambar mawar terdapat ringing-
effect.

 Pada Gaussian Notch Filter, gambar mawar tampak lebih jelas dari Ideal
Notch Reject Filter dan pada gaussian notch filter terlihat tidak tampak
ringing-effect. Namun, masih terdapat noise berupa garis pada gambar
mawar.

 Pada Butterworth Notch Reject Filter, terlihat gambar mawar paling jelas
diantara ketiga gambar hasil filter. Walaupun masih terlihat noise sedikit
pada pinggir gambar mawar, tetapi dibandingkan dengan gambar hasil filter
lainnya, butterworth notch reject filter menghasilkan gambar yang paling
jelas. Terlihat gambar mawar tidak terdapat noise dan ringing-effect.

Kemudian, dicoba untuk mengganti beberapa parameter pada filter notch reject :
 D0 =40, u0 = 0, v0 = 50
Pada percobaan menggunakan parameter ini, terihat ketiga gambar memiliki
hasil gambar yang sama. Hal ini dikarenakan posisi dari u0 bernilai 0. U0
berfungsi untuk mengatur posisi filter pada sumbu y. Sedangkan v0
digunakan untuk mengatur posisi filter pada sumbu x. Posisi dari noise
berada pada sumbu y, bila filter tidak terletak pada sumbu y maka noise akan
berhasil lolos sehingga ketiga gambar hasil filter menghasilkan gambar
bernoise.

 D0 = 40, u0 = 70, v0 = 0
Terlihat pada saat digunakan parameter ini, hanya gambar ideal notch reject
filter saja yang terlihat jelas gambar mawar dibandingkan kedua filter yang
lain. Hal ini disebabkan lebar filter dari filter Ideal Notch Reject Filter lebih
besar daripada kedua filter lainnya sehingga dapat menfilter dengan cakupan
yang lebih luas.
 D = 35, u0 = 30, v0 = 0
Pada percobaan dengan parameter ketiga, dicoba untuk menggunakan nilai
u0 lebih kecil sehingga filter mendekati satu sama lain. Terlihat gaussian
notch reject filter dan butterworth notch reject filter meloloskan noise dari
gambar mawar. Sedangkan pada ideal notch reject filter, hanya terlihat siluet
dari gambar mawar.

Setelah itu, dibandingkan Ideal Notch Band Pass Filter, Gaussian Notch Band
Pass Filter, dan Butterworth Notch Band Pass Filter. Pada perbandingan ini,
digunakan cut off frequency (D0) sebesar 35, nilai u0 sebesar 50, v0 sebesar 0, dan n
order untuk filter butterworth bernilai 5. Terlihat perbedaan pada gambar Ideal Notch
Filter masih terlihat siluet dari gambar mawar. Selanjutnya pada gambar Gaussian
Notch Pass Filter dan Butterworth Notch Pass Filter, terlihat dibandingkan hasil filter
Ideal Notch Pass Filter, siluet mawar terlihat lebih samar dan noise terlihat lebih
jelas

Selanjutnya, dicoba untuk membandingkan ketiga filter dengan parameter berbeda. :

 D0 = 40, u0 = 0, v0 =
Terlihat pada percobaan dengan parameter ini, terlihat pada ketiga gambar
hasil filter hanya muncul gambar mawar dan tidak terlihat noise bergaris
pada gambar filter. Hal ini disebabkan noise bergaris pada sumbu vertical,
bukan horizontal. Sedangkan filter berada pada sumbu horizontal, sehingga
yang diloloskan adalah gambar mawar.

 D = 40, u0 = 70, v0 = 0
Terlihat pada percobaan mengubah parameter kedua, terlihat ketiga hasil
filter terlihat sama, tetapi pada Ideal Notch Pass Filtered Imager terlihat lebih
terang dibandingkan kedua filter lainnya.

 D = 35, u0 = 30, v0 = 0
Terlihat pada percobaan parameter ketiga, didekatkan kedua filter dengan
mengatur nilai u0. Terlihat bila dua filter semakin didekatkan maka gambar
mawar akan terlihat lebih jelas daripada noise kecuali pada Ideal Notch Pass
Filter.
VI. Kesimpulan

Dari percobaan yang telah dilakukan dapat diperoleh bebearapa kesimpulan bahwa :
 Notch bandpass/band reject filter dapat di buat dari rumus masing-masing
filter. Kemudian, nilai d0 pada filter digunakan untuk mengatur lebar dari
filter, u0 digunakan untuk mengatur sumbu vertical dari filter, dan v0
digunakan untuk mengatur sumbu horizontal dari filter.
 Dibandingkan dengan filter ideal notch band reject filter, gaussian notch band
reject filter, dan butterworth gaussian notch band reject filter, terlihat bahwa
gambar dengan hasil filter butterworth memiliki gambar yang lebih jelas
dibandingkan filter gaussian notch band reject dan filter ideal notch band
reject. Untuk filter band pass, terlihat filter gaussian notch band pass dan
butterworth notch pass filter meloloskan noise lebih jelas dibandingkan filter
ideal notch pass.

Anda mungkin juga menyukai