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