dapat memproses dengan efisien dan lebih cepat. Dibandingkan dengan linear spatial
filtering atau filtering spasial linier, maka transformasi Fourier lebih cepat (terutama jika
ukuran filternya besar). Transformasi Fourier memungkinkan pengolahan dengan cara
mengisolasi satu “frekuensi” tertentu pada citra, sehingga dapat digunakan untuk
menerapkan LPF dan HPF dengan ketelitian yang cukup tinggi. (lihat materi)
Contoh Soal
- Buatlah lingkaran berwarna hitam dengan latar belakang putih. Lingkaran ini akan berfungsi sebagai filter HPF. Buatlah lingkaran tersebut berjari-jari 35 piksel dan akan digunakan untuk melakukan filtering pada citra berukuran 100 x 100 piksel.
- Buatlah bentuk cincin berwarna hitam dengan latar belakang putih. Bentuk cincin ini akan berfungsi sebagai filter yang menahan frekuensi tengah. Buatlah bentuk cincin tersebut bagian dalam berjari-jari 30 piksel dan bagian luar berjari-jari 60 piksel; serta akan digunakan untuk melakukan filtering pada citra berukuran 100 x 100 piksel.
- Buatlah bentuk cincin berwarna putih dengan latar belakang hitam. Bentuk cincin ini akan berfungsi sebagai filter yang melewatkan frekuensi tengah. Buatlah bentuk cincin tersebut bagian dalam berjari-jari 30 piksel dan bagian luar berjari-jari 60 piksel; serta akan digunakan untuk melakukan filtering pada citra berukuran 100 x 100 piksel.
1. a) ukuran 100x100 pixel
clear all;
clc;
[x,y] = meshgrid(-50:49, -50:49)
z = sqrt(x.^2 + y.^2)
c = (z>35)
imshow(c)
cf = fftshift(fft2(c));
figure, fftshow(cf,'log')
b) ukuran 256x257 pixel
clear all;
clc;
[x,y] = meshgrid(-129:127, -128:127)
z = sqrt(x.^2 + y.^2)
c = (z>35)
imshow(c)
cf = fftshift(fft2(c));
figure, fftshow(cf,'log')
2. a) ukuran 100x100 pixel
clear all;
clc;
[x,y] = meshgrid(-50:49, -50:49)
z = sqrt(x.^2 + y.^2)
c = (z>60)
d = (z<30)
add = imadd(c,d)
imshow(add)
cf = fftshift(fft2(add));
figure, fftshow(cf,'log')
b) ukuran 256x257 pixel
clear all;
clc;
[x,y] = meshgrid(-129:127, -128:127)
z = sqrt(x.^2 + y.^2)
c = (z>60)
d = (z<30)
add = imadd(c,d)
imshow(add)
cf = fftshift(fft2(add));
figure, fftshow(cf,'log')
3. a) ukuran 100x100 pixel
clear all;
clc;
[x,y] = meshgrid(-50:49, -50:49)
z = sqrt(x.^2 + y.^2)
c = (z>30)
d = (z<60)
add = immultiply(c,d)
imshow(add)
cf = fftshift(fft2(add));
figure, fftshow(cf,'log')
*Cara lain
clear all;
clc;
[x,y] = meshgrid(-50:49, -50:49)
z = sqrt(x.^2 + y.^2)
c = (z>30)&(z<60)
imshow(c)
cf = fftshift(fft2(c));
figure, fftshow(cf,'log')
*Cara lain
clear all;
clc;
[x,y] = meshgrid(-50:49, -50:49)
z = sqrt(x.^2 + y.^2)
c = (z>30)&(z<60)
imshow(c)
cf = fftshift(fft2(c));
figure, fftshow(cf,'log')
b) ukuran 256x257 pixel
clear all;
clc;
[x,y] = meshgrid(-129:127, -128:127)
z = sqrt(x.^2 + y.^2)
c = (z>30)
d = (z<60)
add = immultiply(c,d)
imshow(add)
cf = fftshift(fft2(add));
figure, fftshow(cf,'log')
0 Komentar untuk "Membuat Cincin Sebagai Bandpass Filter di Matlab"