You are on page 1of 7

MODUL 4

MORFOLOGI DAN SEGMENTASI CITRA

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:

HUBUNGAN ANTARA EROSI DAN DILASI. Dari penjelasan-penjelasan


sebelumnya, dapat dilihat bahwa erosi merupakan invers dari dilasi begitu juga
sebaliknya. Lebih tepatnya lagi bahwa, complement dari sebuah erosi sama
dengan dilasi dari complementnya :
A B A B dan A B A B
3. Opening
Operasi ini merupakan operasi tingkat kedua yang dibangun berdasarkan operasi dasar dilasi dan
erosi. Misalkan terdapat himpunan A dan sebuah kernel B, operasi opening A oleh B dinotasikan
dengan A o B yang didefinisikan sebagai berikut :

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 :

Operasi ini disebut dengan morphological filtering


Gambar citra yang didalamnya terdapat noise dan citra hasil operasi opening yang diikuti dengan
operasi closing dapat dilihat pada gambar dibawah ini:

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

II. SEGMENTASI CITRA


Segmentasi citra (image segmentation) mempunyai arti membagi suatu citra menjadi wilayah wilayah
yang homogen berdasarkan kriteria keserupaan yang tertentu antara tingkat keabuan suatu piksel dengan
tingkat keabuan piksel piksel tetangganya, kemudian hasil dari proses segmentasi ini akan digunakan
untuk proses tingkat tinggi lebih lanjut yang dapat dilakukan terhadap suatu citra, misalnya proses
klasifikasi citra dan proses identifikasi objek
Terdapat dua pendekatan utama dalam segmentasi citra yaitu didasarkan pada tepi (edge-based) dan
didasarkan pada wilayah (region-based). Segmentasi didasarkan pada tepi membagi citra berdasarkan
diskontinuitas di antara sub-wilayah (sub-region), sedangkan segmentasi yang didasarkan pada wilayah
bekerjanya berdasarkan keseragaman yang ada pada sub-wilayah tersebut. Dalam computer vision,
segmentasi mengacu pada proses pembagian citra digital ke dalam multiple region (himpunan pixel).
Tujuan akhir dari segmentasi adalah menyederhanakan dan atau merubah representasi suatu citra ke
dalam gambaran yang lebih mempunyai arti dan lebih mudah untuk di analisa. Segmentasi citra secara
khusus digunakan untuk melokalisasi objek atau batas ( bisa berupa garis, kurva, dll) dalam citra. Hasil
dari segmentasi citra adalah sekumpulan wilayah yang melingkupi citra tersebut, atau sekumpulan kontur
yang diekstrak dari citra (pada deteksi tepi). Contoh segmentasi dapat dilihat dalam gambar berikut :
Tiap piksel dalam suatu wilayah mempunyai kesamaan karakteristik atau propeti yang dapat dihitung
(computed property), seperti : warna (color), intensitas (intensity),dan tekstur (texture).
Gambar 1.1 Contoh Segmentasi

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 :

1. Metode pengelompokkan (Clustering Methods).


2. Histogram-Based Methods.
3. Edge Detection Methods.
4. Region Growing Methods.
5. Level Set Methods
6. Graph Partitioning Methods
7. Watershed Transformation
8. Model based segmentation
9. Multi-scale segmentation
10. Semi-automatic segmentation

Metodologi berbasis region dibagi menjadi :

1. Metodologi berbasis transformasi region


Metodologi berbasis transformasi region (wilayah) dibagi menjadi :
Region Growing
Region Splitting
Region Merging
Segmentasi berbasis Region Growing
Contoh segmentasi region growing yaitu transformasi watershed.
2. Metodologi berbasis histogram
Berikut adalah CODE MATLAB UNTUK REGION GROWING

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

Berikut code fungsi watershed yang sudah disediakan di Matlab :


%Segmentasi Watershed
img=imread('cameraman.tif');
img_wat=watershed(img);
figure, imshow (img);
figure, imshow (img_wat);

%Menampilkan hasil segmentasi watershed dengan pewarnaan agar terlihat


%bentuk segmen per objek
Lrgb = label2rgb(img_wat, 'spring', 'c', 'shuffle');
figure, imshow(Lrgb)
title('Colored watershed label matrix (Lrgb)')

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 !!!