CATATULANG

Materi Kuliah Teknik Informatika

Membuat Cincin Sebagai Bandpass Filter di Matlab

Transformasi Fourier merupakan salah satu dasar penting dalam pengolahan citra,
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

  1. 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.
  2. 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.
  3. 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.
Jawaban

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')

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')

Bagikan :
+
Previous
Next Post »
0 Komentar untuk "Membuat Cincin Sebagai Bandpass Filter di Matlab"

 
Copyright © 2015 CATATULANG - All Rights Reserved
Template By Kunci Dunia
Back To Top