Professional Documents
Culture Documents
I. MORFOLOGI CITRA
Morfologi adalah cabang dari pengolahan citra digital yang berguna untuk menganalisa bentuk dari citra.
Operasi matematika yang mendukung morfologi citra adalah translasi dan refleksi.
a. Translasi
Diasumsikan A adalah himpunan pixel pada citra biner dan w = (x,y) adalah koordinat suatu titik.
Kemudian Aw adalah himpunan A ditranslasi / digeser pada arah (x,y), seperti pada persamaan
berikut: A a, b x, y : a, b A
w
Contoh:
Himpunan A digeser pada arah x dan y sesuai dengan nilai w yang diberikan.
b. Refleksi
Jika A adalah himpunan pixel kemudian dilakukan refleksi / pencerminan dengan notasi A maka
persamaan matematikanya sebagai berikut: A x, y : ( x, y ) A
Contoh:
reflection
origin
Operasi morfologi citra terdiri dari:
1. Dilasi
Diasumsikan A dan B adalah himpunan pixel kemudian dilasi A oleh B dinotasikan A B
yang didefinisikan sebagai: A B Ax A B B A
xB
we translate by those cooordinates, then take the union of all these translations.
setiap titik x B, kemudian melakukan translasi A maka diambil operasi union/ gabungan dari
semua translasi ini. Berikut ini persamaan matematika dari operasi dilasi:
A B ( x, y) (u, v) : ( x, y) A, (u, v) B
Untuk dilasi, A adalah citra yang diproses dan B adalah himpunan kecil dari pixel atau disebut
sebagai structuring element atau kernel. Pada matlab dideklarasikan sebagai berikut:
imdilate(image,kernel)
Contoh:
2. Erosi
Given sets A and, the erosion of by written , is defined as :
Diberikan himpunan A dan B, erosi A oleh B, ditulis A-B didefinisikan sebagai:
A B {w : Bw A;} A B Ab
bB
For erosion, we generally assume that A is the image being processed and B is a small set of
pixels. In this case B is referred to as a structuring element or as kernel
Untuk erosi, diasumsikan A adalah citra yang diproses dan B adalah himpunan kecil dari pixel
atau disebut sebagai structuring element atau kernel. Pada matlab dideklarasikan sebagai
berikut:
imerode(image,kernel)
Contoh:
Operasi Opening terdiri dari erosi yang diikuti dengan dilasi. Definisi yang sama dari operasi
opening adalah:
Operasi opening A oleh B adalah union dari semua translasi B yang tepat berada pada A.
Perbedaan dengan erosi adalah: erosi terdiri semua titik pusat B yang translasinya tepat berada
pada A.
4. Closing
Sama halnya dengan operasi opening, operasi closing merupakan operasi dilasi yang diikuti
dengan erosi dan dilambangkan dengan A B dan didefinisikan sebagai berikut:
Contoh Aplikasi:
Penghilangan Noise
Contoh dari citra ini dapat dilihat pada gambar dibawah ini. Proses erosi (A-B) dapat menghapus
pixel-pixel berwarna hitam, tetapi proses ini dapat memperbesar lubang. Kita dapat mengisi
lubang-lubang ini dengan melakukan operasi dilasi dua kali:
Dilasi pertama akan mengembalikan lubang ke ukuran asli; sedangkan dilasi yang kedua akan
menghapus lubang-lubang tersebut. Hal ini dapat memperbesar objek pada citra dan kita dapat
mengurangi ukuran object ini dengan operasi erosi yang terakhir.
Jika kita perhatikan dua operasi pertama merupakan operasi opening sedangkan dua operasi
berikutnya adalah operasi closing. Maka dapat dikatakan bahwa jika kita ingin menghilangkan
noise yang terdapat pada citra maka kita dapat melakukan operasi opening yang kemudian
diikuti dengan operasi closing :
Gambar x. Proses morphological filtering dengan kernel yang berbeda pada citra yang
didalamnya terdapat noise. (a) citra noise ; (b) hasil filtering dengan kernel square ; (c) hasil
filtering dengan kernel cross
Segmentasi wilayah merupakan pendekatan lanjutan dari deteksi tepi. Dalam deteksi tepi segmentasi citra
dilakukan melalui identifikasi batas-batas objek (boundaries of object). Batas merupakan lokasi dimana
terjadi perubahan intensitas. Dalam pendekatan didasarkan pada wilayah, maka identifikasi dilakukan
melalui wilayah yang terdapat dalam objek tersebut. Adapun beberapa teknik atau algoritma yang
termasuk dalam segmentasi citra yaitu :
function regrow(x)
f1=imread(x);
f=double(f1);
s=255;
t=65;
if numel(s)==1
si=f==s;
s1=s;
else
si=bwmorph(s,'shrink',Inf);
j=find(si);
s1=f(j);
end
ti=false(size(f));
for k=1:length(s1)
sv=s1(k);
s=abs(f-sv)<=t;
ti=ti|s;
end
[g nr]=bwlabel(imreconstruct(si,ti));
figure,imshow(f1),title(Citra asal);
figure,imshow(g),title('Citra hasil segmentasi Region Growing');
display('No: of regions');
nr
end
Dengan fungsi diatas lakukan proses segmentasi citra pada citra cameramen.tif
Dibawah ini adalah code fungsi watershed yang menggunakan distance transform :
img=imread('cameraman.tif');
bw = im2bw(img);
D = bwdist(bw);
DL = watershed(D);
bgm = DL == 0;
figure, imshow (img);
figure, imshow (bw);
figure, imshow(bgm), title('Watershed ridge lines (bgm)')
Tugas
1. Cobalah semua program diatas (sub bab morfologi maupun sub bab segmentasi), lakukan
percobaan sesuai dengan perintah diatas. Kemudian gantilah dengan citra yang lain,
masing-masing bandingkan dengan citra lain. Berikan analisa anda !!!