Implementasi Algoritma Critical Point Implementasi Algoritma Thinning Rate Implementasi Algoritma Contour Loop

1. Mulai 2. Membuat matriks menurut template A, B, dan C 3. Masukkan gambar 4. Cocokkan pixel on terproses dengan template 5. Jika pixel on terproses tidak cocok dengan template manapun maka akan dihitung sebagai Not Critical Point. 6. Selesai

4.1.8. Implementasi Algoritma Critical Point

Algoritma critical point berfungsi untuk mencari jumlah critical point dalam piksel hasil skeleton citra. Semakin banyak critical point dalam citra, semakin baik hasil penipisan tersebut, karena algoritma menipiskan hanya citra yang memiliki piksel berlebih dan bukan piksel dari citra yang memiliki persimpangan sehingga tidak mengubah pola asli citra tersebut. 1. Mulai 2. Membuat matriks menurut template A, B, dan C 3. Masukkan gambar 4. Cocokkan pixel on terproses dengan template 5. Jika pixel on terproses cocok dengan template A,B, atau C maka akan dihitung sebagai Critical Point. 6. Selesai

4.1.9. Implementasi Algoritma Thinning Rate

Pengujian Thinning Rate berfungsi untuk membuktikan bahwa algoritma thinning benar – benar menipiskan dengan cara menghitung pola triangle dari setiap piksel yang sudah ditipiskan dibagi dengan jumlah pola triangle dari citra yang belum ditipiskan. Semakin kecil jumlah dari thinning rate, hasil thinning semakin tipis. 1. Mulai PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2. Buat masking 3x3 3. Hitung jumlah i-1,j-1 i,j-1 i,j + i-1,j-1 i-1,ji,j+i-1,ji- 1,j+1i,j+ i,ji,j+1i-1,j+1 pada pixel tersebut 4. Lakukan proses thinning 5. Buat masking baru 3x3 6. Hitung jumlah i-1,j-1 i,j-1 i,j + i-1,j-1 i-1,ji,j+i-1,ji- 1,j+1i,j+ i,ji,j+1i-1,j+1 pada pixel tersebut 7. Thinning rate adalah jumlah perhitungan setelah thinning dibagi sebelum thinning

4.1.10. Implementasi Algoritma Contour Loop

Penghitungan countour loop berfungsi untuk jumlah looping yang dijalankan oleh algoritma. Singkatnya, algoritma ini menghitung dan mengolah jumlah garis pinggir dari citra tersebut. 1. Mulai 2. Membuat matriks salinan dari citra asli tempku1 dan tempku3 3. Mencari pixel pertama dari citra yang representasi hitam 4. Mencari jumlah pixel hitam pada citra 5. Inisialisasikan : tempku_no_daerah =0, iterasi=0, no_daerah=0 6. Selama jumlah piksel hitam lebih dari 0, maka lakukan : 6.1. Jika iterasi=1, maka lakukan : 6.1.1. Iterasi =0, cek =0 6.1.2. Looping sebanyak tinggi dan lebar citra tempku1, lakukan : 6.1.2.1. Jika cek =0, maka lakukan 6.1.2.1.1. Jika pixel tersebut ontempku1, jadikan pixel itu daerah nilai awal :-1 6.1.2.1.2. Cek =1 6.2. Cek apakah pixel tersebut hitam, jika iya maka lakukan : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6.2.1. Periksa apakah pixel tetangga dari pixel on tersebut terdapat yang bernilai daerah daerah bernilai awal -1 6.2.2. Jika tidak ada lagi tetangga yang memiliki nilai daerah, maka nilai no_daerah ditambah satu 6.3. Jika no_daerah = tempku_no_daerah, maka lakukan : 6.3.1. Daerah = daerah -1 6.3.2. Iterasi = iterasi +1 6.4. Tempkku_no_daerah = no_daerah 6.5. No_daerah =0 6.6. Hitung jumlah pixel hitam dalam citra 7. Jumlah karakter = jumlah angka terkecil dalam tempku1 -1 8. Inisialisasi cek=0, daerah=-1 9. Looping selama panjang dan lebar dari citra, lakukan : 9.1. Jika cek =0 9.1.1. Jika pixel terproses == daerah, maka lakukan : 9.1.1.1. Titik tersebut akan menjadi first 9.1.1.2. Cari prevnya 9.1.1.3. Cek =1 9.1.2. Cari jumlah pixel yang bernilai daerah 9.1.3. Cek =0 9.1.4. Mencari border citra yang on, kemudian dijadikan sebagai nilai daerah 9.1.5. Mencari jumlah pixel hitam dalam citra tempku1 9.1.6. Inisialisasi tempku_no_daerah =0, daerah=-1, no_daerah=0, iterasi=0 9.1.7. Selama jumlah pixel putih 0, maka lakukan : 9.2. Jika iterasi=1, maka lakukan : 9.2.1. Iterasi =0, cek =0 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9.2.2. Looping sebanyak tinggi dan lebar citra tempku3, lakukan : 9.2.2.1. Jika cek =0, maka lakukan 9.2.2.1.1. Jika pixel tersebut putihtempku1, jadikan pixel itu daerah nilai awal :-1 9.2.2.1.2. Cek =1 9.3. Cek apakah pixel tersebut putih, jika iya maka lakukan : 9.3.1. Periksa apakah pixel tetangga dari pixel on tersebut terdapat yang bernilai daerah daerah bernilai awal -1 9.3.2. Jika tidak ada lagi tetangga yang memiliki nilai daerah, maka nilai no_daerah ditambah satu 9.4. Jika no_daerah = tempku_no_daerah, maka lakukan : 9.4.1. Daerah = daerah -1 9.4.2. Iterasi = iterasi +1 9.5. Tempku_no_daerah = no_daerah 9.6. No_daerah =0 9.7. Hitung jumlah pixel putih dalam citra 10. Countour_loop = bilangan terkecilrepresentasi citra -1 11. Jika countour_loop 1, maka lakukan : 11.1. Cek=0, daerah = -2, counter=jumlahkarakter+1; 11.2. Looping sebanyak jumlah countour loop 11.2.1. Looping sejumlah tinggi dan lebar citra 11.2.1.1. Jika cek =0, maka lakukan : 11.2.1.1.1. Jika pixel terproses tempku3 adalah daerah, maka lakukan : 11.2.1.1.1.1. Jadikan tetangga sebelah kiri adalah first 11.2.1.1.1.2. Jadikan tetangga atas prev 11.2.1.1.1.3. Cek =1, counter=+1 11.2.2. Hitung jumlah counter 11.2.3. Daerah =-1, cek =0 12. M=countour_loop+jumlah_karakter-1 13. Selesai

4.2. Implementasi User Interface