Chain Code - Shape Analyst - Kode Rantai

9
Chain code - Shape Analyst - analisis bentuk geometri Oleh : [email protected] http://softscients.blogspot.com Kode rantai (chain code) merupakan salah satu bentuk untuk menggambarkan suatu struktur morfologi dari objek tersebut. Banyak aplikasi chain code telah digunakan secara luas untuk melakukan segmentasi berdasarkan bentuk citra salah satu satunya untuk menghitung roundness (tingkat bulat). Chain code bekerja dalam format biner atau black white. Chain code menggunakan 7 arah untuk menghitung perimeter dan area. Berikut paramater yang digunakan yaitu Area dan perimeter (keliling) Ada 7 arah yang digunakan untuk melakukan tracing

Transcript of Chain Code - Shape Analyst - Kode Rantai

Page 1: Chain Code - Shape Analyst - Kode Rantai

Chain code - Shape Analyst -analisis bentuk geometri

Oleh : [email protected]://softscients.blogspot.com

Kode rantai (chain code) merupakan salah satu bentuk untuk menggambarkan suatustruktur morfologi dari objek tersebut. Banyak aplikasi chain code telah digunakansecara luas untuk melakukan segmentasi berdasarkan bentuk citra salah satusatunya untuk menghitung roundness (tingkat bulat). Chain code bekerja dalamformat biner atau black white. Chain code menggunakan 7 arah untuk menghitungperimeter dan area.Berikut paramater yang digunakan yaituArea dan perimeter (keliling)

Ada 7 arah yang digunakan untuk melakukan tracing

Page 2: Chain Code - Shape Analyst - Kode Rantai

Misalkan kita mempunyai contoh kasus berikut

PerimeterBila kita plotkan kedalam format biner maka0 0 0 0 0 0 0 0 00 0 1 1 1 0 0 0 00 0 1 1 1 1 0 0 00 1 1 1 1 1 1 0 00 1 1 1 1 1 1 1 00 0 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0

Kemudian kita lakukan trace boundary akan menghasilkan seperti berikut0 0 0 0 0 0 0 0 00 0 12 13 14 0 0 0 00 0 21 1 1 24 0 0 00 29 1 1 1 1 34 0 00 38 1 1 1 1 1 44 00 0 48 49 50 51 52 53 00 0 0 0 0 0 0 0 0Terlihat bahwa nilai matrix > 1 merupakan boundary atau perimeter nya. Makalangkah selanjutnya melakukan penentuan arah yaituarah 0 untuk 12 ke 13arah 0 untuk 13 ke 14arah 7 untuk 14 ke 24arah 7 untuk 24 ke 34arah 7 untuk 34 ke 44arah 6 untuk 44 ke 53arah 4 untuk 53 ke 52arah 4 untuk 52 ke 51arah 4 untuk 51 ke 50arah 4 untuk 50 ke 49arah 4 untuk 49 ke 48arah 3 untuk 48 ke 38arah 2 untuk 38 ke 29arah 1 untuk 29 ke 21

Page 3: Chain Code - Shape Analyst - Kode Rantai

arah 2 untuk 21 ke 12masing-masing arah akan akan dihitung jumlah arah ganjil dan genapnya yaitujumlah arah genap =10jumlah arah ganjil = 5

rumus perimeter (P) adalah

Sehingga P adalah

AreaPerhitungan area ada 2 metode yang digunakan

1. Yaitu menghitung nilai matrix yang lebih dari 0, maka hasil diatas adalah 26unit

2. Atau menggunakan aturan chain code berikutKode Area0 Y1 Y+0.52 03 -(Y+0.5)4 -(Y)5 -(Y-0.5)6 07 Y-0.5

Sehingga didapatkanArah boundary Posisi Y area0 12 6 60 13 6 67 14 6 5.57 24 5 4.57 34 4 3.56 44 3 04 53 2 -24 52 2 -24 51 2 -24 50 2 -24 49 2 -23 48 2 -2.52 38 3 01 29 4 4.52 21 5 0Total 17.5

RoundnessRoundness adalah tingkat kebulatan yaitu dirumuskan seperti berikut

Secara teori untuk nilai R dari 0 sampai maksimal 1, jika 1 maka termasukbulat/lingkaran penuh

Page 4: Chain Code - Shape Analyst - Kode Rantai

Misalkan untuk nilai diatas akan didapatkan (dihitung dengan 2 cara yaitu)R1 = 4*pi*26/17.0711^2 = 1.120573R2 = 4*pi*17.5/17.0711^2 = 0.754232Seharus nya rumus R2 yang valid digunakan, akan tetapi kita akan coba untukmenghitung dari masing-masing citra berikut

#############################citra truecolor dikonversi ke BWC:\Documents and Settings\mulkan\My Documents\kotak.jpgjumlah genap : 1312jumlah ganjil : 0perimeter : 1312.0jumlah area1 : 108241.0jumlah area2 : 107584.0Roundness R1 : 0.789793881989887Roundness R2 : 0.785Operasi ChainCode selesai dalam : 1.516 detik

Page 5: Chain Code - Shape Analyst - Kode Rantai

#############################citra truecolor dikonversi ke BWC:\Documents and Settings\mulkan\My Documents\kotak_panjang.jpgjumlah genap : 780jumlah ganjil : 0perimeter : 780.0jumlah area1 : 31527.0jumlah area2 : 31136.0Roundness R1 : 0.6508532544378698Roundness R2 : 0.6427813280736359Operasi ChainCode selesai dalam : 0.187 detik

Page 6: Chain Code - Shape Analyst - Kode Rantai

#############################citra grayscale dikonversi ke BWC:\Documents and Settings\mulkan\My Documents\lingkaran.bmpjumlah genap : 352jumlah ganjil : 248perimeter : 702.7249634685277jumlah area1 : 35525.0jumlah area2 : 35224.0Roundness R1 : 0.9035516072937996Roundness R2 : 0.8958958990940689Operasi ChainCode selesai dalam : 0.219 detik

Page 7: Chain Code - Shape Analyst - Kode Rantai

#############################citra truecolor dikonversi ke BWC:\Documents and Settings\mulkan\My Documents\elipse.jpgjumlah genap : 888jumlah ganjil : 541perimeter : 1653.0895372438445jumlah area1 : 180577.0jumlah area2 : 179861.5Roundness R1 : 0.8299641216085326Roundness R2 : 0.8266755559051987Operasi ChainCode selesai dalam : 1.265 detik

Page 8: Chain Code - Shape Analyst - Kode Rantai

#############################citra truecolor dikonversi ke BWC:\Documents and Settings\mulkan\My Documents\lima.bmpjumlah genap : 688jumlah ganjil : 452perimeter : 1327.2245301926391jumlah area1 : 109953.0jumlah area2 : 109382.0Roundness R1 : 0.783985306152329Roundness R2 : 0.7799139701286373Operasi ChainCode selesai dalam : 1.328 detik

Page 9: Chain Code - Shape Analyst - Kode Rantai

#############################citra truecolor dikonversi ke BWC:\Documents and Settings\mulkan\My Documents\enam.bmpjumlah genap : 1004jumlah ganjil : 500perimeter : 1711.1067811865476jumlah area1 : 188978.0jumlah area2 : 188225.0Roundness R1 : 0.8106747811405824Roundness R2 : 0.8074445738667259Operasi ChainCode selesai dalam : 1.469 detik

R1 R2kotak.jpg 0.789793881989887 0.785kotak_panjang.jpg 0.6508532544378698 0.6427813280736359lingkaran.bmp 0.9035516072937996 0.8958958990940689elipse.jpg 0.8299641216085326 0.8266755559051987lima.bmp 0.783985306152329 0.7799139701286373enam.bmp 0.8106747811405824 0.8074445738667259

Terlihat bahwaLingkaran > elipse > enam > kotak > lima > kotak_panjang R1Lingkaran > elipse > enam > kotak > lima > kotak_panjang R2

KesimpulanBahwa ChainCode - kode rantai bisa digunakan untuk membedakan tingkatkebulatan dengan Roundness akan mendekati 1