Anda di halaman 1dari 3

Gambar 5.

Perbedaan kerangka objek tanpa noise dan dengan noise yang dihasilkan dengan
menggunakan algoritma MAT. Garis tebal menunjukkan objek awal, dan garis tipis menunjukkan
hasil kerangka objek.

6.2 Algoritma Zhang-Suen


Algoritma Zhang-Suen dapat menyelesaikan permasalahan-permasalahan yang telah
dijelaskan pada subbab sebelumnya, dengan mempersatukan pendekatan algoritma medial axis
dan contour generation. Sesuai namanya, algoritma ini dikemukakan oleh Zhang dan Suen pada
tahun 19844. Pendekatan algoritma Zhang-Suen dilakukan dengan membagi gambar menjadi
straight region dan curved regions. Straight region berbentuk tipis didekati melalui metode medial
axis. Curved regions didekati melalui metode contour generation. Kerangka dari masing-masing
segmen tersebut kemudian dihubungkan. Algoritma Zhang-Suen termasuk algoritma paralel
dengan dua sub-iterasi.

P9 P2 P3 0 0 1

P8 P1 P4 1 P1 0

P7 P6 P5 1 0 1

(a) (b)
Gambar 6. (a) Ilustrasi pixel tetangga dan (b) nilai-nilai pixel tetangga. Pixel P1 memiliki delapan
tetangga yang masing-masing ditandai dengan P2, P3, P4, P5, P6, P7, P8, dan P9. Berdasarkan
gambar (b), N(P1) = 4 dan S(P1) = 3.

Berikut adalah tahapan algoritma skeletonizing yang dibuat oleh Zhang dan Suen (1987),
dengan empat asumsi:
1. Pixel dengan nilai 1 adalah foreground.
2. Pixel dengan nilai 0 adalah background.
3. Pixel objek menggunakan skema 8-connectivity.
4. Citra yang diproses sudah dibinerisasi.

1. Untuk setiap pixel, hitung dua nilai berikut.


- N(P1), yaitu jumlah tetangga yang dimiliki oleh P1 yang tidak bernilai 0.
- S(P1), yaitu jumlah transisi pada tetangga-tetangga P1 (merupakan jumlah perubahan nilai
dari 0 ke 1), mulai dari transisi P2 ke P3, P3 ke P4, sampai dengan P9 ke P2 secara berurut.
2. Sub-iterasi 1: tandai semua pixel foreground yang memenuhi empat kondisi berikut.
a. 2  N (P1)  6
b. S(P1) = 1

4
Zhang, T. Y., & Suen, C. Y. (1984). A fast parallel algorithm for thinning digital patterns. Communications of the
ACM, 27(3), 236-239.
STEI- ITB IF5181-23516008-2 Halaman 10 dari 27 halaman
Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.
c. P2 * P4 * P6 = 0
d. P4 * P6 * P8 = 0
3. Ubah nilai pixel yang sudah ditandai menjadi 0 (background).
4. Untuk setiap pixel, hitung nilai N(P) dan S(P), seperti pada langkah 1.
5. Sub-iterasi 2: tandai semua pixel foreground yang memenuhi empat kondisi berikut.
a. 2  N (P1)  6
b. S(P1) = 1
c. P2 * P4 * P8 = 0
d. P2 * P6 * P8 = 0
6. Ubah nilai pixel yang sudah ditandai menjadi 0 (background).
7. Ulangi algoritma mulai dari langkah 1 hingga tidak ada pixel yang dapat dihapus lagi.
(a)

A B C D A B C D A B C D
E F G H E F G H E F G H
I J K L I J K L I J K L

1 2 3

(b)

1 2 3
Gambar 7. Ilustrasi proses algoritma Zhang-Suen, dari penipisan pertama (1), kedua (2), dan
ketiga (3), dengan gambar yang sederhana (a) dan rumit (b). Penipisan terakhir menghasilkan
kerangka.

Gambar 7 mengilustrasikan contoh proses algoritma Zhang-Suen. Penjelasan di bawah ini


mendeskripsikan proses algoritma Zhang-Suen pada gambar 7(a). Pada penipisan pertama,
dilakukan langkah 2 pada prosedur. A adalah pixel pertama yang akan didatangi. Berdasarkan
kondisi yang tertulis pada langkah 2, hasil evaluasi A adalah:
1. N(A) = 3; TRUE
2. S(A) = 1; TRUE
3. P2 * P4 * P6 5 = 0; TRUE
4. P4 * P6 * P8 = 0; TRUE

5
P2, P4, P6, dan P8 relatif terhadap A, sesuai dengan gambar. Hal ini berlaku juga pada poin-poin selanjutnya.

STEI- ITB IF5181-23516008-2 Halaman 11 dari 27 halaman


Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.
A memenuhi semua kondisi, sehingga A ditandai untuk diubah nilainya menjadi 0
(background). Selanjutnya algoritma akan mendatangi B. Hasil evaluasi B adalah:
1. N(B) = 5; TRUE
2. S(B) = 1; TRUE
3. P2 * P4 * P6 = 0; TRUE
4. P4 * P6 * P8 = 0; FALSE
Karena B tidak memenuhi satu atau lebih di atas, B tidak ditandai sebagai pixel yang akan
dibuang. Evaluasi yang sama dilakukan pada C, D, E, … , L sehingga diperoleh gambar seperti
yang diilustrasikan oleh Gambar 7(a).2. Pada penipisan kedua dilakukan langkah 4 pada prosedur.
Pixel yang pertama didatangi adalah B. Hasil evaluasi B adalah:
1. N(B) = 4; TRUE
2. S(B) = 1; TRUE
3. P2 * P4 * P8 = 0; TRUE
4. P2 * P6 * P8 = 0; TRUE
B memenuhi semua kondisi, sehingga B ditandai untuk kemudian diubah menjadi background.
Setelah dilakukan cara yang sama terhadap C, E, F, dan G, didapatkan hasil akhir seperti Gambar
7(a).3. Skeletonization selesai apabila tidak ada pixel yang ditandai untuk diubah nilainya menjadi
0 ketika dilakukan langkah 2 atau langkah 4.
Secara keseluruhan, algoritma Zhang-Suen dapat memberikan hasil thinning yang efektif
untuk kasus umum. Namun, pada beberapa kasus, algoritma Zhang-Suen masih dapat
menghasilkan kerangka yang memiliki pixel pada perubahan kontur objek (yang seharusnya tidak
dimiliki oleh kerangka paling tipis). Untuk mengatasi masalah ini, ada post-processing yang dapat
dilakukan pada algoritma ini. Untuk setiap pixel, cek apakah pixel tersebut memenuhi salah satu
dari empat syarat berikut.
1. P2 * P4 = 1 dan P7 = 0
2. P4 * P6 = 1 dan P9 = 0
3. P6 * P8 = 1 dan P3 = 0
4. P8 * P0 = 1 dan P5 = 0
Jika pixel tersebut memenuhi salah satu syarat tersebut, ubah pixel tersebut menjadi 0.

6.3 Algoritma Riverlake


[Catatan: Fungsionalitas ini belum berhasil diimplementasikan sepenuhnya]
Algoritma Riverlake adalah salah satu algoritma thinning yang unik, karena algoritma ini
bersifat non-iteratif dan tidak bersifat paralel ataupun sekuensial. Algoritma ini ditemukan oleh
Supriana dan Ruswono pada tahun 20116. Ide utama dari algoritma ini adalah mencari dan
membagi kerangka suatu objek pada citra menjadi dua: kerangka vertical (river) dan kerangka
horizontal (lake). Setiap river umumnya memiliki panjang rata-rata yang lebih kecil dari panjang
rata-rata setiap lake. Setiap river kemudian dihubungkan ke satu atau lebih lake yang ada di atas
atau di bawah river tersebut.
Berikut adalah tahapan algoritma Riverlake secara umum. Perlu diperhatikan bahwa citra yang
dapat diproses pada algoritma ini hanya berupa citra biner.

6
Supriana, I., & Aryan, P. R. (2011, July). Direct skeleton extraction using river-lake algorithm. In Electrical
Engineering and Informatics (ICEEI), 2011 International Conference on (pp. 1-3). IEEE.
STEI- ITB IF5181-23516008-2 Halaman 12 dari 27 halaman
Template dokumen ini dan informasi yang dimilikinya adalah milik Sekolah Teknik Elektro dan Informatika ITB dan bersifat
rahasia. Dilarang me-reproduksi dokumen ini tanpa diketahui oleh Sekolah Teknik Elektro dan Informatika ITB.

Anda mungkin juga menyukai