BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Citra yang digunakan untuk proses thinning adalah citra biner, jika data masukannya berupa citra warna RGB maka citra tersebut harus dimanipulasi menjadi citra
grayscale, yang merupakan syarat guna menghasilkan suatu citra biner. Untuk mengubah citra grayscale menjadi citra biner, maka dilakukan proses thresholding
dahulu. Setelah diperoleh citra threshold, maka citra biner dapat dihitung berdasarkan nilai ambang yang ditetapkan.
Proses thinning dengan menggunakan metode zhang-suen adalah sebagai berikut:
1. Membaca jumlah pixel di dalam gambar.
2. Melakukan iterasi untuk mengambil nilai pixel gambar.
3. Melakukan iterasi untuk mengambil nilai pixel yang termasuk ke dalam
kategori contour point. 4.
Melakukan iterasi untuk menghapus seluruh pixel yang termasuk ke dalam kategori contour point.
5. Menampilkan hasil pengenalan pola dalam bentuk sebuah citra digital yang
telah mengalami proses thinning.
Universitas Sumatera Utara
3.1.1 Membaca Jumlah Pixel
Pada citra digital 24-bit tidak terdapat palet RGB, karena nilai RGB langsung diuraikan dalam data bitmap. Setiap elemen data bitmap panjangnya 3 byte, masing-
masing byte menyatakan komponen R, G, dan B. Header
data bitmap 10010000 01011010 011110001 011110001 10
Gambar 3.1 Format Citra 24-bit 16 juta warna
Pada citra bitmap 24-bit, tiap pixel-nya mengandung 24-bit kandungan warna atau 8-bit untuk masing-masing warna dasar R, G, dan B, dengan kisaran nilai
kandungan antara 0 00000000 sampai 255 11111111 untuk tiap warna. Pada contoh format citra 24-bit di atas data pertama adalah header yang berisi informasi
nama file, jenis format dan dimensi citra. Di bawah data bitmap terdapat pixel pertama mempunyai R = 10010000 biner, G = 01011010 biner, B = 011110001 biner.
Bagian terkecil sebuah citra adalah pixel yang memiliki nilai intensitas hasil kuantisasi peralatan digital. Citra warna memiliki tiga komponen warna yang setiap
komponen warna menggunakan penyimpanan 8 bit atau 1 byte. Berarti jumlah bit dalam 1 pixel adalah sebanyak 3 x 8 bit = 24 bit. Jadi untuk menghitung jumlah pixel
sebuah citra dilakukan dengan membagi nilai intensitas citra dengan 24 bit. Representasi nilai pixel pada citra warna dapat dilihat pada Gambar 3.2.
3.2 Representasi Pixel pada Citra
Universitas Sumatera Utara
Nilai intensitas citra disimpan dalam data bitmap dalam bentuk nilai biner dengan nilai antara 0 dan 1. Jadi jumlah pixel-nya adalah jumlah kelipatan 24 bit. Misalnya
citra bunga dengan nilai intensitas di atas adalah adalah: 111100001111000011111110001100001111000011111111111100001111000011111
000111100001111000011111001111100001111000011111010101100001111000011 111111111100001111000011111111111100001111000011010111111110000111100
001100000111110000111100001111011000111100001111000011111111111100001 111000011111000011100001111000011110101011110000111100001111000110111
111000011110000111111111111000011110000111010111111110000111100001111 1111 dan seterusnya.
Nilai 111100001111000011111111 = 24 bit mewakili 1 pixel dari citra. Jika jumlah bit citra di atas adalah 1800000 bit, maka jumlah pixel-nya adalah
180000024 bit = 75.000 pixel.
3.1.2 Menghitung Nilai RGB Citra
Pada metode Zhang Suen citra yang diuji terdiri dari 9 pixel 3x3, maka citra pada Gambar 3.2 di atas dilakukan pembagian pixel dalam ukuran 3 x 3, di mana pixel yang
berada di posisi tengah merupakan pixel yang akan diuji. Maka penghitungan nilai komponen warna RGB-nya dilakukan dalam 9 pixel seperti pada Gambar 3.3.
1 2 3 4 5 6
7 8 9
Gambar 3.3 Citra Bunga 9 pixel
Misalnya nilai pixel 1 dalam biner 24 bit adalah: Pixel 1 = 111100001111000011111111
Pixel 2 = 100000011110000111110000 Pixel 3 = 111100001111000011111111
Pixel 4 = 101110011110000111110000
Universitas Sumatera Utara
Pixel 5 = 111100001111000011111111 Pixel 6 = 100000011110000111110000
Pixel 7 = 000100001111000011111111 Pixel 8 = 100000011110000111110111
Pixel 9 = 101110111111000011111100
Untuk mendapatkan masing-masing nilai R, G dan B dilakukan operasi modulo sisa bagi dengan rumus sebagai berikut:
Nilai R = c Mod 256 ………………………………………….. 3.1
Nilai G = c and 65280 256 ………………………………….. 3.2 Nilai B = c and 16711680 65280
………………………….. 3.3 Dimana c adalah nilai pixel citra
a. Nilai pixel 1 adalah 111100001111000011111111 24 bit.
Nilai R dihitung dengan persamaan 3.1 yaitu nilai pixel modulo bilangan 256 100000000 sebagai berikut:
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 111100001111000011111111 mod 100000000
= 11111111 dalam biner = 255 dalam desimal Nilai komponen G dihitung dengan persamaan 3.2:
Nilai G = 111100001111000011111111 and 1111111100000000 100000000 = 11110000 = 240
Nilai komponen B dihitung dengan persamaan 3.3: Nilai B = 111100001111000011111111 and 111111110000000000000000
10000000000000000 = 11110000 = 240
Sehingga diperoleh nilai pixel 11111111 11110000 11110000: R = 11111111 = 255, G = 11110000 = 240, B = 11110000 = 240
b. Nilai pixel 2 adalah 100000011110000111110000 24 bit.
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 100000011110000111110000 mod 100000000
= 11100001 dalam biner = 225 dalam desimal
Universitas Sumatera Utara
Nilai G = 100000011110000111110000 and 1111111100000000 100000000 = 10000001 = 129
Nilai B= 100000011110000111110000 and 111111110000000000000000 10000000000000000
= 00000001 = 1 Sehingga diperoleh nilai pixel 11110000 11110000 11110000:
R = 11100001 = 225, G = 10000001 = 129, B = 00000001 = 1
c. Nilai pixel 3 adalah 111100001111000011111111 24 bit.
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 111100001111000011111111 mod 100000000
= 11110000 dalam biner = 240 dalam desimal Nilai G = 111100001111000011111111 and 1111111100000000 100000000
= 11110000 = 240 Nilai B= 111100001111000011111111 and 111111110000000000000000
10000000000000000 = 00000001 = 1
Sehingga diperoleh nilai pixel 11110000 11110000 11110000: R = 11100001 = 240, G = 11110000 = 240, B = 00000001 = 1
d. Nilai pixel 4 adalah 101110011110000111110000 24 bit.
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 101110011110000111110000 mod 100000000
= 11100001 dalam biner = 225 dalam desimal Nilai G = 101110011110000111110000 and 1111111100000000 100000000
= 10111001 = 185 Nilai B= 101110011110000111110000 and 111111110000000000000000
10000000000000000 = 00000001 = 1
Sehingga diperoleh nilai pixel 11110000 11110000 11111111: R = 11100001 = 225, G = 10111001 = 185, B = 00000001 = 1
Universitas Sumatera Utara
e. Nilai pixel 5 adalah 111100001111000011111111
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 111100001111000011111111 mod 100000000
= 11110000 dalam biner = 240 dalam desimal Nilai G = 111100001111000011111111 and 1111111100000000 100000000
= 11110000 = 240 Nilai B= 111100001111000011111111 and 111111110000000000000000
10000000000000000 = 00000001 = 1
Sehingga diperoleh nilai pixel 11110000 11110000 11111111: R = 11110000 = 240, G = 11110000 = 240, B = 00000001 = 1
f. Nilai pixel 6 adalah 100000011110000111110000
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 100000011110000111110000 mod 100000000
= 11100001 dalam biner = 225 dalam desimal Nilai G = 100000011110000111110000 and 1111111100000000 100000000
= 10000001= 129 Nilai B= 100000011110000111110000 and 111111110000000000000000
10000000000000000 = 00000001 = 1
Sehingga diperoleh nilai pixel 11110000 11110000 11111111: R = 11100001 = 225, G = 10000001 = 129, B = 00000001 = 1
g. Nilai pixel 7 adalah 000100001111000011111111
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 000100001111000011111111 mod 100000000
= 10000111 dalam biner = 135 dalam desimal Nilai G = 000100001111000011111111 and 1111111100000000 100000000
= 10000111= 135 Nilai B= 000100001111000011111111 and 111111110000000000000000
10000000000000000 = 00000001 = 1
Universitas Sumatera Utara
Sehingga diperoleh nilai pixel 10000111 10000111 00000001: R = 10000111 = 135, G = 10000111 = 135, B = 00000001 = 1
h. Nilai pixel 8 adalah 100000011110000111110111
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 100000011110000111110111 mod 100000000
= 11100001 dalam biner = 225 dalam desimal Nilai G = 100000011110000111110111 and 1111111100000000 100000000
= 10000001 = 129 Nilai B= 100000011110000111110111 and 111111110000000000000000
10000000000000000 = 00000001 = 1
Sehingga diperoleh nilai pixel 10000111 10000111 00000001: R = 11100001 = 225, G = 10000001= 129, B = 00000001 = 1
i. Nilai pixel 9 adalah 101110111111000011111100
Nilai komponen R dengan rumus = nilai pixel A mod 100000000 Nilai R = 101110111111000011111100 mod 100000000
= 11110000 dalam biner = 225 dalam desimal Nilai G = 101110111111000011111100 and 1111111100000000 100000000
= 10111011 = 187 Nilai B= 101110111111000011111100 and 111111110000000000000000
10000000000000000 = 00000001 = 1
Sehingga diperoleh nilai pixel 10000111 10000111 00000001: R = 11110000 = 225, G = 10111011 = 187, B = 00000001 = 1
Selanjutnya nilai RGB semua pixel pada citra bunga 9 pixel dimasukkan ke dalam matriks seperti pada Gambar 3.4.
Universitas Sumatera Utara
255,240,240 225,129,1 240,240,1 225,185,1 240,240,1
225,129,1 135,135,1 225,129,1
225,187,1 Gambar 3.4 Matriks Nilai RGB Citra Bunga 9 Pixel
Selanjutnya nilai RGB per Pixel pada Gambar 3.4 di atas di konversi ke nilai grayscale dengan cara mencari nilai rata-rata per pixel.
f x,y =
……………………..…………………… 3.4
di mana: adalah nilai komponen red
f
G
adalah nilai komponen green f
B
adalah nilai komponen blue
Nilai grayscale dihitung dengan menggunakan persamaan 3.4 sebagai berikut: Piksel 1 = 255,240,240 = 255+240+2403 = 245
Piksel 2 = 225,129,1 = 225+129+13 = 118.3 Piksel 3 = 240,240,1 = 240+240+13 = 160.3
Piksel 4 = 225,185,1 = 225+185+13 = 137 Piksel 5 = 240,240,1 = 240+240+13 = 160.3
Piksel 6 = 225,129,1 = 225+129+13 = 118.3 Piksel 7 = 135,135,1 = 255+240+2403 = 90.3
Piksel 8 = 225,129,1 = 225+129+13 = 118.3 Piksel 9 = 255,187,1 = 255+240+2403 = 147.6
Selanjutnya nilai grayscale semua pixel pada citra bunga 9 pixel dimasukkan ke dalam matriks nilai grayscale seperti pada Gambar 3.5.
245 118 160 137 160 118
90 118 147 Gambar 3.5 Matriks Nilai Grayscale Citra Bunga 9 Pixel
Universitas Sumatera Utara
Nilai grayscale matriks citra pada gambar diatas diubah menjadi nilai threshold dengan nilai ambang. Nilai ambang yang digunakan diperoleh dengan rumus:
T= …………………………………………………………
3.5 Nilai threshold untuk matriks citra pada Gambar 3.5 di atas dihitung dengan
menggunakan persamaan 3.5 sebagai berikut: T=
= 167.5 = 168 Nilai ambang 168 dapat digunakan jika persentase nilai pixel 168 adalah 50 ,
jika persentase nilai pixel 168 adalah 50 , maka digunakan rumus: T=
= 2552 = 127.5 = 128 ……………………………………… 3.6
Dari Gambar 3.4 di atas dapat diperoleh persentase nilai pixel diatas 168 adalah: 19 x 100 = 11 , maka digunakan nilai ambang pada persamaan 3.6.
Pixel 1 = 245, P1 128 maka P1= 1. Pixel 2 = 118, P2 128 maka P2= 0.
Pixel 3 = 160, P3 128 maka P3= 1. Pixel 4 = 137, P4 128 maka P4= 1.
Pixel 5 = 160, P5 128 maka P5= 1. Pixel 6 = 118, P6 128 maka P6= 0.
Pixel 7 = 90, P7 128 maka P7= 0. Pixel 8 = 118, P8 128 maka P8= 0.
Pixel 9 = 147, P9 128 maka P9= 1.
Selanjutnya nilai threshold semua pixel pada citra bunga 9 pixel dimasukkan ke dalam matriks citra biner seperti pada Gambar 3.6.
1 0 1 1 1 0
0 0 1
Universitas Sumatera Utara
Gambar 3.6 Matriks Citra Biner 9 Pixel
3.1.3 Algoritma Zhang
Suen
Dalam metode zhang-suen, pengenalan pola dilakukan dengan cara mengeliminasi setiap pixel citra biner yang termasuk ke dalam kategori contour point. Contour point
adalah penghapusan pixel dimana jika nilai biner pixel-nya adalah 1 pixel foreground, maka akan diubah menjadi 0 pixel background. Adapun syarat
penghapusan adalah: 5.
Jumlah pixel tetangga yang bernilai 1, ≥ 2 dan ≤ 6 atau 2≤NP1 ≤ 6
6. Jumlah perpindahan nilai pixel dari 0 ke 1 = 1
7. Perkalian Pixel2 Pixel4 Pixel6 = 0 P2P4P6=0
8. Perkalian Pixel4 Pixel6 Pixel8 = 0 P4P6P8=0
Dari matriks citra biner seperti pada Gambar 3.6 dilakukan penelusuran dengan memberi label penanda dimana P5 adalah pixel yang diuji adalah seperti pada Gambar
3.7.
1 0 1 P1 P2
P3 1
1 0 P4 P5 P6 0 0 1 P7
P8 P9
Gambar 3.7 Matriks Citra Awal 9 Pixel
Melakukan pengujian syarat metode Zhang-Suen adalah sebagai berikut: 1.
N P1 = 4, maka 2 ≤NP1 ≤6 = true
2. S P1 = 3, maka SP1 = 1 = false
3. P2P4P6=0 = 011 = 0 = true
4. P4P6P8= 100 = 0 = true
Dari hasil pengujian, dapat dilihat dari 4 hasil pengujian terdapat nilai false yang berarti nilai pixel yang diuji tidak dihapus.
Universitas Sumatera Utara
Berikut sebagai contoh diberikan piksel citra 3 x 3 dari blok citra selanjutnya dari Gambar 3.1 yang akan diuji adalah seperti pada Gambar 3.8:
0 0 1 1 1
0 0 0
Gambar 3.8 Matriks Citra
1. N P1 = 2, maka 2
≤NP1 ≤6 = true 2.
S P1 = 1, maka SP1 = 1 = true 3.
P2P4P6=0 = 011 = 0 = true 4.
P4P6P8= 100 = 0 = true
Dari hasil penelusuran, dapat dilihat 4 hasil pengujian semua bernilai true yang berarti nilai pixel yang diuji akan dihapus dan menghasilkan matrik citra yang baru seperti
pada Gambar 3.9.
0 0 1 0 1
0 0 0 Gambar 3.9 Matriks Citra Akhir
3.2 Perancangan Sistem