nilai
threshold
maka
pixel
akan dibuat menjadi putih. Hasil citra yang telah di
threshold
dapat dilihat pada gambar 3.8.
Gambar 3.8. Hasil proses
thresholding
3.4 Pemrosesan Data
Setelah didapatkannya
binary image
dari praproses, maka
binary image
ini akan dilanjutakan pada tahap pengenalan karakter. Di
tesseract
sendiri proses pengenalan menggunakan kor.trainedata yang telah tersedia. Kor.trainedata ini merupakan sebuah
box file
yang berisi data-data dengan kode-kode
unicode
UTF-8 hasil pelatihan karakter-karakter. Proses pengenalan karakter itu ditunjukkan pada Gambar 3.8.
Analisis Komponen Terhubung
Page layout analysis
Pencarian Baris Teks dan Kata
Find text lines and words
Pengenalan Karakter Pass 1 Recognize word pass 1
Pengenalan karakter Pass 2 Recognize word pass 2
INPUT Binary Image
OUTPUT Unicode UTF-8
Outline Karakter
Outline Karakter disusun menjadi kata
Gambar 3.9 Proses pengenalan karakter
Adapun penjelasan dari proses pengenalan karakter pada Gambar 3.9 adalah sebagai berikut.
3.4.1 Page layout analysis
Pada
page layout analysis
, akan dilakukan analisa pada komponen terhubung
Connected Component
untuk menemukan dimana komponen
outline
disimpan. Analisis komponen terhubung ini dilakukan berdasarkan
stroke
penulisan pada
umumnya. Lalu
pixel
terluar dari komponen-komponen ini akan ditandai sebagai
outline
, sampai semua
pixel
terluar ditandai. Kumpulan dari semua
outline
yang telah ditandai ini akan membentuk sebuah
blob
. Proses pencarian
outline
karakter ini dapat dilihat pada Gambar 3.10.
Gambar 3.10 a Karakter yang akan dicari
outline
nya b Pelabelan karakter c
blob
membentuk
outline
d
Outline
karakter terbentuk
3.4.2 Find text lines and words
Pada proses ini terdapat tiga hal utama yang akan dilakukan, yaitu : a.
Line Finding
Pencarian Baris Proses ini dibuat untuk dapat mengenali baris yang miring tanpa harus
memiringkan ulang gambar sehingga tidak mengurangi kualitas dari gambar. Kunci dari proses ini adalah filterisasi
blob
dan
line constructing
Smith, 2007. Mengasumsikan bahwa analisis
layout
telah menyediakan region teks dan ukuran teks yang seragam, kemudian sebuah filter ketinggian persenti akan
menghapus
drop cap
dari karakter-karakter yang bersentuhan secara
vertical
. Tinggi median akan mendekati ukuran teks pada region sehingga dapat digunakan
sebagai filter
blob
yang lebih kecil dari beberapa bagian ketinngian titik tengah seperti tanda baca, diakritik dan
noise
.
Filtered blobs
akan berbentuk seperti sebuah model yang pas seperti tidak tumpang tindih, pararel, tetapi bergaris
miring. Penyortiran dan pemrosesan
blob
dari kordinat x, memungkinkan untuk menetapkan
blob
pada
text line
yang unik, saat mengikuti kemiringan kata pada setiap halaman, dan mengurangi keslahan dalam menempatkan teks yang tidak
tepat pada kemiringan yang ada. Setelah
filtered blobs
sudah ditetapkan pada garisnya, median dari model yang telah dibuat akan digunakan untuk
memperkirakan
baselines
, dan
blob
yang telah disaring akan dipasangkan kembali pada garis yang tepat.
b. Baseline Fitting
Setelah baris teks ditemukan,
baseline
akan dicocokkan dengan lebih tepat menggunakan
quadratic spline. Quadratic spline
merupakan sebuah fungsi
kuadrat sepenggal yang dapat diturunkan Chen, Madsen, Zhang 2002, p l. Fungsi ini digunakan untuk mengatasi gambar dengan
baseline
yang mirio atau berbentuk kurva.
Baseline
ini akan dicocokkan partisi
blob
kedalam kelompok- kelompok. Contoh
fitted baseline
yang berbentuk miring dapat dilihat pada Gambar 3.11.
Gambar 3.11
F itted baseline
yang berbentuk miring
c. Fixed Pitch Detection
dan
Chopping Tesseract
menguji
text lines
untuk menentukan apakah mereka
text lines
telah mendapatkan
pitch
yang tetap.
Pitch
tetap yang telah ditemukan,
tesseract
akan memotong kata-kata kedalam karakter menggunakan
pitch
tersebut, dan menghentikan pemotongan dan mengasosiasi kata-kata ini untuk dilanjutkan pada
langkah pengenalan kata. Pemotongan kata pada pitch dapat dilihat pada Gambar 3.12.
Gambar 3.12 Pemotongan karakter sesuai dengan
F ixed Pitch
3.4.3 Recognize word pass 1
dan
2
Setelah segmentasi berhasil dilakukan,
blob
akan digunakan
word recognizer
sebagai
feature
dan mengklasifikasikan setiap blok dan menyajikan hasil klasifikasi tersebut pada kamus untuk mencari sebuah kata dengan kombinasi pilihan
classifier
untuk setiap blob. Jika hasil pengenalan masih buruk, maka karakter itu akan dipisah.
Apabila kapasitas pemisahan sudah tidak memungkinkan, pencarian
best first search
BST dari graf segmentasi akan menyusun kembali potongan-potongan karakter yang sudah dipasang. Dalam setiap langkah BST, setiap kombinasi
blob
baru yang salah akan diklasifikasikan dan hasil
classifier
dari proses tersebut akan kembali di masukkan ke kamus.
Output
yang dihasilkan nantinya merupakan string karakter UTF-8 yang memiliki
rating
terbaik, sesuai dengan pembobotan berdasarkan ada
atau tidaknya kata dalam sebuah kamus. Selanjutnya dengan menggunakan fungsi
getUTF8
yang terdapat pada
class TessBaseApi
akan mengembalikan string yang berisi
unicode
dan karakter yang dikenali, kemudian akan dipresentasikan
unicode
tersebut dalam bentuk karakter tertentu.
3.5 Perancangan Sistem