Perbedaan antara pemrosesan citra secara morfologis dengan pemrosesan biasa :
- Dulu kita memandang sebuah citra sebagai suatu fungsi intensitas terhadap posisi (x,y)
- Dengan pendekatan morfologi, kita memandang suatu citra sebagai himpunan
Pemrosesan citra secara morfologi biasanya dilakukan terhadap citra biner (hanya terdiri dari 0 dan 1), walaupun tidak menutup kemungkinan dilakukan terhadap citra dengan skala keabuan 0-255
Contoh citra masukan :
S
|
A
|
S = {(0,0),(0,1),(1,0)}
A = {(0,0),(0,1),(0,2),
(1,0),(1,1),(1,2),
(2,0),(2,1),(2,2)}
Objek S dan A dapat direpresentasikan dalam bentuk himpunan dari posisi-posisi (x,y) yang bernilai 1 (1=hitam/abu-abu, 0 = putih)
Operasi Morfologi
- Secara umum, pemrosesan citra secara morfologi dilakukan dengan cara mem-passing sebuah structuring element terhadap sebuah citra dengan cara yang hampir sama dengan konvolusi.
- Structuring element dapat diibaratkan dengan mask pada pemrosesan citra biasa (bukan secara morfologi)
Structuring Element
- Structuring element dapat berukuran sembarang
- Structuring element juga memiliki titik poros (disebut juga titik origin/ titik asal/titik acuan)
- Contoh structuring element seperti objek S dengan titik poros di (0,0) -> warna merah
Beberapa operasi morfologi
Beberapa operasi morfologi yang dapat kita lakukan adalah:
- Dilasi, Erosi
- Opening, Closing
- Thinning, shrinking, pruning, thickening, skeletonizing, dll
1. Dilasi
Dilasi merupakan proses penggabungan titik-titik latar (0) menjadi bagian dari objek (1), berdasarkan structuring element S yang digunakan.
Cara dilasi adalah:
- Untuk setiap titik pada A, lakukan hal berikut:
- letakkan titik poros S pada titik A tersebut
- beri angka 1 untuk semua titik (x,y) yang terkena / tertimpa oleh struktur S pada posisi tersebut
Contoh dilasi :
S
|
A
|
D
|
S = {(0,0),(0,1),(1,0)}
= {poros,(+0,+1),(+1,+0)}
A = {(0,0),(0,1),(0,2), (1,0),(1,1),(1,2), (2,0),(2,1),(2,2)}
Posisi poros
( (x,y) ∈ A )
|
Sxy
|
(0,0)
|
{(0,0),(1,0),(0,1)}
|
(0,1)
|
{(0,1),(1,1),(0,2)}
|
(0,2)
|
{(0,2),(1,2),(0,3)}
|
.....
|
......
|
(2,2)
|
{(2,2),(2,3),(3,2)}
|
D
|
2. Erosi
Erosi merupakan proses penghapusan titik-titik objek (1) menjadi bagian dari latar (0), berdasarkan structuring element S yang digunakan.
Cara erosi adalah:
- Untuk setiap titik pada A, lakukan hal berikut:
- letakkan titik poros S pada titik A tersebut
- jika ada bagian dari S yang berada di luar A, maka titik poros dihapus / dijadikan latar.
Contoh erosi :
S
|
A
|
E
|
S = {(0,0),(0,1),(1,0)}
= {poros,(+0,+1),(+1,+0)}
A = {(0,0),(0,1),(0,2), (1,0),(1,1),(1,2), (2,0),(2,1),(2,2)}
Posisi poros
( (x,y) ∈ A )
|
Sxy
|
Kode
|
(0,0)
|
{(0,0),(1,0),(0,1)}
|
1
|
(0,1)
|
{(0,1),(1,1),(0,2)}
|
1
|
(0,2)
|
{(0,2),(1,2),(0,3)}
|
0
|
.....
|
......
| |
(2,2)
|
{(2,2),(2,3),(3,2)}
|
0
|
3. Opening
Opening adalah proses erosi yang diikuti dengan dilasi. Efek yang dihasilkan adalah menghilangnya
objek-objek kecil dan kurus, memecah objek pada titik-titik yang kurus, dan secara umum
men-smooth-kan batas dari objek besar tanpa mengubah area objek secara signifikan.
Contoh Opening :
A
|
⊗
|
S
| ||||||||||||||||||||||
A
|
(
|
A
|
⊗
|
S
|
)
|
⊕
|
S
| |||||||||||||||||
S
|
4. Closing
Closing adalah proses dilasi yang diikuti dengan erosi.
Efek yang dihasilkan adalah mengisi lubang kecil pada objek, menggabungkan objek-objek yang
berdekatan, dan secara umum men-smooth-kan batas dari objek besar tanpa mengubah area objek
secara signifikan
Contoh Closing :
A
| ||||||||||||||||||||||
A
|
⊕
|
S
|
(
|
A
|
⊕
|
S
|
)
|
⊗
|
S
| |||||||||||||
S
| ||||||||||||||||||||||
5. Hit-or-Miss transform
Suatu structuring element S dapat direpresentasikan dalam bentuk (S1,S2) dimana S1 adalah kumpulan
titik-titik objek (hitam) dan S2 adalah kumpulan titik-titik latar (putih)
Hit-or-miss transform
Contoh:
S1= {b,e,h}
S2={a,d,g,c,f,i}
a
|
b
|
c
|
d
|
e
|
f
|
g
|
h
|
i
|
Hit-and-misss transform A*S adalah kumpulan titik-titik dimana S1 menemukan match di A dan pada saat yang bersamaan S2 juga menemukan match di luar A.
Varian dari erosi dan dilasi
- Shrinking : Erosi yang dimodifikasi sehingga piksel single tidak boleh dihapus. Hal ini berguna jika jumlah objek tidak boleh berubah
- Thinning: Erosi yang dimodifikasi sehingga tidak boleh ada objek yang terpecah. Hasilnya adalah berupa garis yang menunjukkan topologi objek semula.
- Thickening, skeletonizing, pruning, dll
- Thinning
- Tujuan: me-remove piksel tertentu pada objek sehingga tebal objek tersebut menjadi hanya satu piksel.
- Thinning tidak boleh: - Menghilangkan end-point- Memutus koneksi yang ada- Mengakibatkan excessive erosi
- Salah satu kegunaan thinning adalah pada proses pengenalan karakter/huruf
- Ada banyak cara mengimplementasikan thinning, salah satu diantaranya adalah dengan hit-or-miss transform.
- Thinning dapat didefinisikan sebagai: Thinning(A,{B}) = A – (A * {B})= A – ((...(A*B1)*B2)..Bn)Dengan B1, B2, B3..Bn adalahStructuring element.Note:A-(A*B) berarti kebalikan dari A*Bà Yang match dihapusà Yang tidak match dipertahankan