Anda di halaman 1dari 14

Pertemuan 13

Operasi Morfologi
(Dilasi)
Pedahuluan
Operasi morfologi adalah operasi yang
menyebabkan perubahan bentuk objek suatu
citra baik berupa perluasan objek atau
penyempitan objek.
Dua operasi yang mendasari operasi
morfologi yaitu :
1. Dilasi
2. Erosi
Operasi Dilasi
Operasi dilasi biasa dipakai untuk
mendapatkan efek pelebaran terhadap
piksel yang bernilai 1.
Operasi ini dirumuskan seperti berikut
menurut Burger & Burge (2008) :
Contoh Operasi Dilasi
A = { (2,2), (2,3), (2,4), (3,2), (3,3), (3,4), (4,3) }
B = { (-1, 0), (0,0), (1,0) }
Dengan demikian,
A  B = { (2,2) + (-1, 0) , (2,2) + (0, 0) + (2,2) + (1, 0),
(2,3) + (-1, 0) , (2,3) + (0, 0) + (2,3) + (1, 0),
(2,4) + (-1, 0) , (2,4) + (0, 0) + (2,4) + (1, 0),
(3,2) + (-1, 0) , (3,2) + (0, 0) + (3,2) + (1, 0),
(3,3) + (-1, 0) , (3,3) + (0, 0) + (3,3) + (1, 0),
(3,4) + (-1, 0) , (3,4) + (0, 0) + (3,4) + (1, 0),
(4,3) + (-1, 0) , (4,3) + (0, 0) + (4,3) + (1, 0) }
= { (1,2), (2,2), (3,2), (1,3), (2,3), (3,3),
(1,4), (2,4), (3,3), (2,2), (3,2), (4,2),
(2,3), (3,3), (4,3), (2,4), (3,4), (4,4),
(3,3), (4,3), (5,3) }
= { (1,2), (1,3), (1,4), (2,2), (2,3), (2,4),
(3,2), (3,3), (3,4), (4,2), (4,3), (4,4), (5,3) }
Hasil Operasi Dilasi
Program Dilasi
function G = dilasi(F, H, hotx, hoty) G = zeros(tf, lf); % Nolkan semua pada hasil
% DILASI Berguna untuk melaksanakan dilasi
operasi dilasi.
[th, lh]=size(H); % Memproses dilasi
[tf, lf]=size(F); for baris = 1 : tf
if nargin < 3 for kolom = 1 : lf
hotx = round(lh/2); for indeks = 1 : jum_anggota
hoty = round(th/2); if F(baris, kolom) == 1
end xpos = kolom + Xh(indeks);
Xh = []; ypos = baris + Yh(indeks);
Yh = []; if (xpos >= 1) && (xpos <= lf)
jum_anggota = 0; && ...
% Menentukan koordinat piksel bernilai 1 pada (ypos >= 1) && (ypos <= tf)
H G(ypos, xpos) = 1;
for baris = 1 : th end
for kolom = 1 : lh end
if H(baris, kolom) == 1 end
jum_anggota = jum_anggota + 1; end
Xh(jum_anggota) = -hotx + kolom; end
Yh(jum_anggota) = -hoty + baris;
end
end
end
Inputan Dari Program Dilasi
F=[0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 1 1 1 1 0
0 0 1 1 1 1 0
0 0 0 1 1 1 0
0 0 0 0 0 0 0
0 1 1 0 0 0 0
0 0 0 0 0 0 0];
H = [0 1 0; 1 1 1; 0 1 0];
G = dilasi(F,H)
Hasil Program Dilasi
G=
0 0 0 0 0 0 0
0 0 1 1 1 1 0
0 1 1 1 1 1 1
0 1 1 1 1 1 1
0 0 1 1 1 1 1
0 1 1 1 1 1 0
1 1 1 1 0 0 0
0 1 1 0 0 0 0
Contoh Inputan Lain
F = [ 0 0 0 0 0;
0 1 1 1 0;
0 1 1 1 0;
0 1 0 0 0;
0 0 0 0 0]; 
>> H = [0 1 0
010
0 1 0]; 
>> G = dilasi(F,H) 
Hasil Program :
G=
 
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
0 1 0 0 0
Contoh Dengan Menggunakan Parameter Lain

Dengan menggunakan data F dan H di atas, perintah


berikut dapat dicoba:
 
>> G = dilasi(F,H, 2, 1) 
Hasil Program :
G=

0 0 0 0 0
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
Contoh Dengan Menggunakan Parameter Lain
Angka 2 dan 1 pada argumen fungsi dilasi
menyatakan bahwa hotspot pada H terletak pada
kolom kedua dan baris pertama.
yang berfungsi sebagai hotspot adalah nilai 1
pada H yang terletak paling atas, bukan yang di
tengah.
Efek Dilasi Pada Citra
>> close all; 
>> Bravo = imread('C:\image\bravo.png'); 
>> BW = im2bw(Bravo, 0.5); 
>> H = ones(4); 
>> imshow(dilasi(BW, H)); 
Im2bw adalah hasil konversi ke bentuk biner
dengan menggunakan fungsi .
ones(4) adalah memperoleh struktur elemen
berukuran 4 x 4 yang keseluruhan bernilai 1.
Adapun Gambar (d) adalah hasil kalau elemen
penstruktur yang digunakan (H) berukuran 7x7
dengan seluruh elemen bernilai 1.
Hasil Program
Tugas
1.Buat program dan tampilkan gambar asli
serta gambar hasil dengan menggunakan
operasi dilasi.
NB : Nama variabel adalah nama depan
mhs dan gambar yang digunakan
adalah gambar mahasiswa
bersangkutan

Anda mungkin juga menyukai