Operasi
Morfologi
Kartika Firdausy - UAD pvisual@ee.uad.ac.id
Setelah mempelajari materi ini,
mahasiswa diharapkan mampu:
mengidentifikasi prosedur operasi morfologi
menerapkan berbagai teknik pada operasi morfologi
yaitu pencarian batas/kontur, dilasi, erosi, penutupan, pembukaan, pengisian, dan pelabelan
menerapkan teknik skeletonisasi untuk pengenalan
Operasi Morfologi
didasarkan pada bentuk segmen atau
region dalam citra
segmen
obyek yang menjadi perhatian
Segmentasi
membedakan antara obyek dan latar
Nilai biner dari citra hasil merepresentasikan 2 keadaan:
obyek
bukan obyek (latar)
titik obyek : hitam (nilai 0)
titik latar : putih (nilai 1)
Operasi ini antara lain meliputi:
pencarian batas/kontur,
dilasi,
erosi,
penutupan (closing),
pembukaan (opening),
pengisian (filling),
pelabelan,
didasarkan pada nilai-nilai dari
tetangga langsung di sekeliling titik
obyek yang ditinjau
operasi terhubung-4 (4-connected)
tetangga yang diperhatikan hanya yang langsung
bersebelahan,
yaitu titik di sebelah kiri, kanan, atas dan bawah,
operasi terhubung-8 (8-connected)
tetangga diagonalnya diikutsertakan
p2
p2 p3
p8 p1 p4
p1 p4
p6
p6 p5
p2
p9 p2 p3
p8 p1 p4
p8 p1 p4
p6
Beberapa definisi yang dipakai dalam operasi morfologi:
Titik obyek, adalah titik yang merupakan bagian dari
obyek (p1 = obyek)
Titik latar, adalah titik yang merupakan bagian dari latar
(p1 = latar)
B(p1) = banyaknya tetangga dari p1 yang merupakan
titik obyek
A(p1) = banyaknya pola “latar, obyek” untuk urutan p2
-p4-p6-p8-p2 pada operasi terhubung-4 atau urutan p2-p3-p4-p5-p6-p7-p8-p9-p2 pada operasi terhubung-8.
Titik terisolasi, adalah titik obyek yang semua
Titik ujung, adalah titik obyek yang mempunyai tepat
sebuah tetangga yang merupakan titik obyek juga. B(p1) = 1.
Titik batas, adalah titik obyek yang salah satu atau
lebih tetangganya adalah titik latar. B(p1) < 4 pada operasi terhubung-4 dan B(p1) < 8 pada operasi
terhubung-8. Apabila semua titik tetangganya adalah titik obyek maka dapat dipastikan titik tersebut berada di dalam obyek (bukan titik batas).
Titik simpel, adalah titik obyek yang jika diubah
Sebagai ilustrasi, pandang contoh berikut dengan
menggunakan nilai 0 untuk titik obyek dan 1 untuk titik latar
1
1 0 1
1
1 1 1
1 0 1
1 1 1
1 1
1 0 0 1 0 1
1 0
Titik terisolasi
Titik batas
0 1
0 0 0 0 0 1
1 0
1 1 1 0 0 0
0 0 1 1 0 0
0 0 0 1 0 0
Terhubung 4
Pencarian Batas/Kontur
Menentukan batas/kontur dari segmen obyek
Dilakukan terhadap titik-titik obyek
Algoritma untuk operasi pencarian batas citra
Set citra hasil sama dengan citra asal
Untuk semua titik dalam citra asal:
Cek apakah titik tersebut titik obyek
Jika ya cek apakah titik tersebut adalah titik batas
Jika ya maka titik tersebut tetap titik obyek
Jika tidak maka ubah titik pada citra hasil menjadi titik latar
Hasil operasi pencarian batas
Citra asli
Citra batas terhubung-4
Dilasi
memperbesar ukuran segmen obyek dengan menambah lapisan di sekeliling obyek
2 cara :
1. mengubah semua titik latar yang bertetangga dengan titik batas menjadi titik obyek (set setiap titik yang tetangganya adalah titik obyek menjadi titik obyek)
2. mengubah semua titik di sekeliling titik batas menjadi titik obyek, (set semua titik tetangga sebuah titik obyek menjadi titik obyek)
Algoritma untuk operasi dilasi citra biner
Untuk semua titik dalam citra
Cek apakah tersebut titik obyek
Hasil operasi dilasi
Citra asli
Citra dilasi
Erosi
kebalikan dari operasi dilasi
ukuran obyek diperkecil dengan mengikis sekeliling obyek.
2 cara:
1. mengubah semua titik batas menjadi titik latar
2. set semua titik di sekeliling titik latar menjadi titik latar
Algoritma untuk operasi erosi citra biner
Untuk semua titik dalam citra
Cek apakah tersebut titik latar
Jika ya maka ubah semua tetangganya menjadi titik latar
Hasil operasi erosi
Citra asli
Citra erosi terhubung-4
Penutupan (
Closing
)
kombinasi antara operasi dilasi dan erosi yang dilakukan
secara berurutan.
menutup atau menghilangkan lubang-lubang kecil yang
ada dalam segmen obyek.
menggabungkan 2 segmen obyek yang saling
berdekatan (menutup sela antara 2 obyek yang sangat berdekatan).
dapat dilakukan dalam beberapa rangkaian dilasi-erosi
Hasil operasi penutupan (closing)
Citra asli
Citra closing
terhubung-4 Citra closing
Pembukaan (
Opening
)
kombinasi antara operasi erosi dan dilasi
yang dilakukan secara berurutan,
memutus bagian-bagian dari obyek yang
hanya terhubung dengan 1 atau 2 buah
titik saja.
untuk menghilangkan obyek yang sangat
Hasil operasi pembukaan
(opening)
Citra asli
Citra opening
terhubung-4 Citra opening
Pengisian (
Filling
)
kebalikan dari operasi pencarian batas citra
citra masukan adalah citra batas/kontur
kemudian dilakukan pengisian sehingga
diperoleh segmen obyek yang pejal/solid
tentukan titik awal pengisian yang terletak di
dalam obyek
kemudian bergerak ke arah titik-titik tetangganya
operasi dilakukan secara rekursif
Algoritma untuk operasi pengisian citra
secara terhubung-4
Tentukan titik awal pengisian di dalam obyek yang akan diisi /* berikut adalah bagian rekursif */
Set titik tersebut menjadi titik obyek
Cek apakah titik tetangga atasnya adalah titik latar
Jika ya maka lakukan hal yang sama untuk titik tersebut Jika tidak maka lanjutkan
Cek apakah titik tetangga kanannya adalah titik latar
Jika ya maka lakukan hal yang sama untuk titik tersebut
Jika tidak maka lanjutkan
Cek apakah titik tetangga bawahnya adalah titik latar
Jika ya maka lakukan hal yang sama untuk titik tersebut
Jika tidak maka lanjutkan
Cek apakah titik tetangga kirinya adalah titik latar
Jika ya maka lakukan hal yang sama untuk titik tersebut
Hasil operasi pengisian terhubung-4
Citra asli
pengisian mulai dari titik A
Pelabelan Obyek
untuk membedakan antara sebuah obyek dengan obyek yang lain
hampir mirip dengan operasi pengisian, yakni menggunakan teknik rekursi.
mula-mula dideteksi lokasi sebuah titik yang merupakan bagian dari sebuah obyek
lakukan pengisian dengan suatu nilai (label) terhadap obyek tersebut dari lokasi tersebut sampai menemui batas luarnya (menabrak titik latar)
lanjutkan mendeteksi lokasi yang merupakan titik obyek namun belum terisi oleh operasi tadi atau belum diberi label
lakukan pengisian lagi dengan nilai label yang berbeda
Hasil operasi pelabelan terhubung-4
Pengerangkaan (
Skeletonization
)
proses pengikisan sebuah obyek sebanyak mungkin dengan tetap mempertahankan bentuk umum dari polanya
Sifat
1. Ketipisan: kerangka obyek berukuran setipis mungkin (1
atau 2 titik)
2. Konektivitas: kerangka dari suatu obyek terhubung satu
sama lain sesuai dengan topologi pola aslinya
3. Posisi: letak kerangka berada tepat di tengah obyek 4. Stabilitas: setelah suatu bagian kerangka diperoleh,
Algoritma Hilditch
1.) 2
≤
B(p1)
≤
6
p1 p1 p1 p1
Algoritma Hilditch
2.) A(p1) =1
p1 p1 p1
Contoh titik yang tidak memenuhi kriteria 2 algoritma Hilditch
3.) p2, p4, atau p8 ada yang merupakan titik latar, atau A(p2) ≠ 1
Algoritma Hilditch
p2 p2 p2
p8 p1 p4 p8 p1 p4 p8 p1 p4
untuk menghindarkan terhapusnya garis horisontal dengan lebar 2 titik
4.) p2, p4, atau p6 ada yang merupakan titik latar, atau A(p4) ≠ 1
(a) garis vertikal (b) p2, p4, p6 ≠ latar (c) p2, p4, atau p6 = latar berlebar 2 titik A(p4) ≠ 1 A(p4) = 1
Algoritma Hilditch
p2 p2 p2
p1 p4 p1 p4 p1 p4
p6 p6 p6
Referensi
Firdausy, K, 2003,
Diktat Kuliah Teknik
Pengolahan Citra
, Program Studi Teknik Elektro,
Universitas Ahmad Dahlan
Castleman, K.R., 1996,
Digital Image Processing
,
Prentice-Hall,Inc., New Jersey
Jain, A.K., 1989,
Fundamental of Digital Image
Processing
, Prentice-Hall,Inc., New Jersey
I.T. Young, J.J. Gerbrands, L.J. van Vliet,
Image
Processing Fundamentals
,