sempurna dengan aksara lainnya. Sebagai contoh kita dapat melihat citra data uji Jalan Langensari dan hasil segmentasinya sebagai berikut:
B = imread..Citra nama jalantestinglangensari.jpg; im_gray = rgb2grayB;
im_bw = im2bwim_gray; imshowim_bw;
Gambar 4.6 Citra Biner Jalan Langensari Gambar 4.6 merupakan representasi citra hitam-putih Jalan Langensari
yang berukuran 482 x 2354 pixels. Proses selanjutnya adalah melakukan segmentasi untuk memperoleh tiap aksara yang menyusun
citra tersebut dengan menggunakan fungsi
syllable_recognizer
.
B = imread..Citra nama jalantestinglangensari.jpg; im_gray = rgb2grayB;
im_bw = im2bwim_gray; t = syllable_recognizerim_bw;
Gambar 4.7 Projection Profile dari Citra Jalan Langensari Berdasarkan Gambar 4.7 dapat disimpulkan bahwa pada bagian dua
aksara terakhir, yaitu pasangan sa dan aksara ri tidak terpisahkan dengan baik. Hal tersebut bisa terjadi karena penulisan aksara tersebut
tidak terpisah dengan baik atau saling berdekatan sehingga ada bagian yang tumpang tindih. Jika kita lihat secara visual, berdasarkan Gambar
4.6 citra Jalan Langensari terdiri dari 8 suku kata, tetapi hasil segmentasi pada Gambar 4.7 menghasilkan hanya 7 suku kata saja. Hal
tersebut terjadi karena ada dua suku kata yang menyatu. Keterbatasan segmentasi menggunakan projection profile adalah objek-objek yang
ada pada citra harus terpisah secara sempurna, setidaknya memiliki
jarak yang cukup antar objeknya sehingga tidak ada yang tumpang tindih atau menyatu.
4.2.5 Resizing
Berdasarkan hasil dari proses projection profile terhadap citra pada Gambar 4.5 dan Gambar 4.7 dapat kita lihat bahwa hasil
segmentasi terhadap citra memiliki ukuran yang berbeda-beda. Hal tersebut bisa terjadi karena terdapat variasi aksara antara aksara asli
legena, aksara legena yang diberi sandhangan, aksara legena yang memiliki pasangan maupun gabungan keduanya. Untuk mempermudah
proses ekstraksi ciri dan klasifikasi maka semua aksara, baik pada data training maupun testing akan ditentukan ukurannya sehingga setiap
aksara mempunyai ukuran yang sama. Untuk melakukan proses pengubahan ukuran aksara resizing dapat dikerjakan dengan
menggunakan fungsi imresize pada Matlab. Ukuran setiap citra kita tentukan sendiri, sehingga untuk penelitian kali ini ditetapkan 100
x 110 pixel.
function [ transliteration ] = syllable_recognizer im_bw
... aksara = imresizeim_hline, [100 110];
imshowaksara; ...
Pemilihan ukuran tersebut dipilih karena untuk mempermudah dalam proses pembagian zona yang akan dikerjakan dalam proses ekstraksi
ciri yang akan dibagi ke dalam 4 zona secara horizontal dan 4 zona secara vertikal-horizontal. Secara visual, hasil dari proses resizing dapat
dinyatakan sebagai berikut:
B = imread..Citra nama jalantestinglangensari.jpg; im_gray = rgb2grayB;
im_bw = im2bwim_gray; t = syllable_recognizerim_bw;
Gambar 4.8 Citra Jalan Pajeksan Hasil Resizing
Gambar 4.8 merupakan citra yang sama dengan Gambar 4.5, yaitu citra hasil segmentasi dari Gambar 4.4, hanya saja yang membedakan adalah
hasil segmentasi citra diatas sudah dikenai proses resizing sehingga setiap aksara yang diperoleh mempunyai ukuran yang sama. Proses
resizing diperlukan untuk mempermudah dalam membagi zona citra dan menghitung nilai feature dari masing-masing citra.
4.3 Feature Extraction and Selection
Kemampuan sistem untuk mengkasifikasikan objek akan lebih efektif dan cepat ketika kita bisa mendapatkan ciri yang bisa membedakan objek satu
dengan objek lainnya dibandingkan dengan menggunakan seluruh informasi dari objek yang ada. Dengan memilih ekstraksi ciri yang tepat maka secara
langsung akan mengurangi dimensi data yang akan diolah sehingga akan meringankan beban memory, running time relatif cepat dan mengurangi
kompleksitas algortima untuk proses klasifikasi. Proses ektraksi ciri dilakukan untuk semua data yang akan diolah, yaitu untuk data training
template dan data testing. Ektraksi yang dipakai pada penelitian ini adalah ICZ-ZCZ Image Centroid and Zone-Zone Centroid and Zone. Pada
dasarnya, ekstraksi ciri ini terdiri dari 2 jenis yang digabungkan menjadi satu, yaitu ekstraksi ciri ICZ dan ekstraksi ciri ZCZ. Untuk memperoleh fitur dari
objek kita perlu mencari terlebih dahulu pusat massa centroid dari objek tersebut. Persamaan untuk mencari centroid dapat dilihat pada persamaan 2.5
dan persamaan 2.6.
function [ xc, yc ] = imcentroid inimage ...
for i = 1 : x for j = 1 : y
if inimagei, j == 1 xc = xc + j;
yc = yc + i; totalPixel = totalPixel + 1;
... xc = xc totalPixel;
yc = yc totalPixel;
...
Pada fungsi diatas, titik centroid atau titik pusat massa sumbu x dan y pada suatu citra dapat diperoleh dengan mengalikan nilai pixel yang bernilai 1
dengan posisi pixel pada sumbu x dan y. Setelah diperoleh hasil perkaliannya kemudian dijumlahkan untuk setiap sumbunya. Oleh karena jika suatu
bilangan dikalikan dengan 1 adalah bilangan itu sendiri maka persamaan 2.5 dan 2.6 dapat disederhanakan menjadi cukup menjumlahkan posisi koordinat
pixel yang bernilai 1 untuk masing-masing sumbu x dan y. Hasil total dari penjumlahan posisi pixel objek pada sumbu x dan y kemudian dibagi dengan
total pixel pada objek citra tersebut sehingga diperoleh titik
�
dan
�
yang merupakan titik centroid untuk sumbu x dan y.
Citra yang digunakan pada penelitian ini berukuran 100 x 110 pixel sehingga dapat dibagi menjadi 4 bagian zona sama besar secara horizontal
masing-masing 25x110 pixels dan 4 zona secara vertikal-horizontal yang masing-masing berukuran 50x55 pixels.
function [ z1, z2, z3, z4 ] = icz inimage [cx, cy] = imcentroidimnew;
... for i = 1 : row
for j = 1 : col if imnewi, j == 1
if i = 25 dist = sqrtj-cx2 + i-cy2;
sumdistz1 = sumdistz1 + dist; totalpixz1 = totalpixz1 + 1;
elseif i 25 i = 50 ...
elseif i 50 i = 75 ...
els ...
z1 = sumdistz1 totalpixz1; ...
Fungsi icz mempunyai input sebuah citra biner dan memiliki 4 output sesuai dengan jumlah zona yang akan membagi citra. Cara kerja fungsi ini
yaitu mencari nilai rata-rata jarak antara nilai pixel objek citra terhadap titik centroid-nya. Pertama dengan memanggil fungsi imcentroid untuk
memperoleh titik centroid citra tersebut. Kedua, menghitung jarak antara objek nilai pixel yang bernilai 1 terhadap centroid-nya menggunakan rumus
euclidean distance, seperti pada persamaan 2.7. Nilai jarak tersebut akan di
total untuk setiap zonanya kemudian dibagi dengan jumlah pixel yang ada di tiap zona. Hal tersebut dilakukan sebanyak zona yang ada. Hasil dari rata-rata
nilai jarak pixel objek terhadap centroid pada masing-masing zona itulah yang menjadi feature dari objek citra.
function [ z1, z2, z3, z4 ] = zcz inimage ...
I1=imnew1:25,:; [ cx, cy ] = imcentroidI1;
for i = 1 : row for j = 1 : col
if I1i, j == 1 dist = sqrtj-cx2 + i-cy2;
sumdistz1 = sumdistz1 + dist; totalpixz1 = totalpixz1 + 1;
... I2=imnew26:50,:;
[ cx, cy ] = imcentroidI2; ...
I3=imnew51:75,:; [ cx, cy ] = imcentroidI3;
... I4=imnew76:100,:;
[ cx, cy ] = imcentroidI4; ...
z1 = sumdistz1 totalpixz1; ...
Fungsi zcz mempunyai input sebuah citra biner dan memiliki 4 output sesuai dengan jumlah zona yang akan membagi citra. Cara kerja fungsi ini
yaitu membagi objek menjadi 4 zona kemudian mencari titik centroid di masing-masing zona menggunakan fungsi imcentroid. Setelah titik
centroid ditemukan lalu menghitung nilai jarak pixel objek terhadap titik centroid-nya di setiap zona. Untuk menghitung jarak menggunakan euclidean
distance, seperti pada persamaan 2.7. Nilai jarak yang diperoleh kemudian di total lalu di bagi dengan nilai total pixel di masing-masing zona. Nilai rata-
rata jarak objek citra tehadap centroid di masing-masing zona inilah yang menjadi feature objek.
function [ feature ] = feature_extraction inImage [z1 z2 z3 z4] = iczinImage;
[z5 z6 z7 z8] = zczinImage; feature = [z1 z2 z3 z4 z5 z6 z7 z8];
end
Setelah diperoleh nilai feature menggunakan fungsi icz dan zcz lalu nilai-nilai feature tersebut digabungkan sehingga menjadi 8 feature yang
merepresentasikan objek
tersebut menggunakan
fungsi feature_extractionyang memiliki parameter sebuah citra biner.
Sebagai contoh, untuk citra Jalan Pajeksan pada Gambar 4.8 yang diekstrak cirinya menggunakan metode ICZ-ZCZ diperoleh nilai features sebagai
berikut:
Gambar 4.9 Nilai Features dari Citra Jalan Pajeksan Gambar 4.9 adalah nilai fitur dari hasil ekstraksi ciri citra nama Jalan Pajeksan
pada Gambar 4.8 menggunakan ICZ-ZCZ yang dibagi menjadi 4 zona secara horizontal. Terdapat 8 baris dengan setiap barisnya memiliki 8 nilai features
yang mewakili nilai ciri dari 8 objek aksara pada Gambar 4.8. Hal yang dapat disimpulkan dalam proses ekstraksi ciri ini adalah ICZ
bekerja dengan mencari titik centroid-nya terlebih dahulu kemudian citra dibagi kedalam n zona yang sama sehingga akan didapatkan satu titik
centroid sedangkan ZCZ membagi n zona citra kemudian masing-masing zona dicari titik centroid-nya sehingga didapatkan centroid sebanyak jumlah
zona yang ada. ICZ-ZCZ merupakan gabungan dari kedua ekstraksi ciri tersebut sehingga hasil dari ekstraksi cirinya akan diperoleh sebanyak 2n
fitur.
4.4 Pembuatan Template Database
Model atau metode pengenalan pola pada penelitian ini menggunakan pendekatan template matching. Pendekatan template matching dipilih karena
paling mudah untuk diterapkan. Prinsip pendekatan template matching untuk klasifikasi adalah mengukur kedekatan kesamaan similarity antar objek
atau entities yang diperbandingkan. Objek yang diperbandingkan adalah data uji yang akan dikenali dengan template yang sudah disimpan.
Data yang akan digunakan untuk membuat template database adalah citra nama jalan namun data yang dipakai berbeda dengan data yang
digunakan untuk data uji testing. Jumlah citra yang digunakan untuk pembuatan template database sekitar 100 buah. Dari jumlah citra tersebut
dapat dibuat 100 aksara untuk database template. Langkah-langkah dalam pembuatan template database seperti pada blok diagram pada Gambar 3.1
dan blok diagram pada Gambar 3.2.
Gambar 4.10 Citra Jalan Menteri Supeno Gambar 4.10 adalah citra nama Jalan Menteri Supeno. Citra diambil
menggunakan kamera smarthpone dengan resolusi sebesar 4096 x 2304 pixels. Citra tersebut diambil pada tanggal 22 Januari 2017 pada pukul 06:39
WIB. Jarak pengambilan gambar kurang lebih 50 cm dari tiang nama jalan. Proses selanjutnya adalah cropping untuk mengambil objek tulisan
dengan aksara Jawa. Untuk data template, proses cropping yang dilakukan sedikit berbeda dengan data uji, yaitu citra aksara dipotong per aksara.
Sebagai contoh, kita akan menyimpan aksara su pada citra Jalan Menteri
Supeno, maka kita hanya melakukan cropping pada suku kata su yang terdapat pada citra.
inImage = imread..Citra nama jalantrainingsu.jpg;
Gambar 4.11 Hasil Cropping Citra Jalan Menteri Supeno Gambar 4.11 merupakan citra hasil cropping pada Gambar 4.10 untuk
mendapatkan suku kata su yang akan disimpan sebagai database template. Setelah di-crop maka ukuran citra aksara su adalah 330 x 223 pixels.
Setelah proses cropping, maka dari citra berwarna akan diubah menjadi citra abu-abu. Fungsi untuk mengubah citra berwarna menjadi citra abu-abu
atau grayscale menggunakan fungsi rgb2gray pada Matlab.
inImage = imread..Citra nama jalantrainingsu.jpg;
im_gray = rgb2grayinImage; imshowim_gray;
Gambar 4.12 Citra Abu-Abu Aksara Su Gambar 4.12 merupakan representasi dari citra keabuan yang diperoleh
dengan mengubah Gambar 4.1. Hal tersebut dapat dibuktikan dengan nilai variabel im_gray yang sebelumnya nilai variabel B adalah 330x223x3
uint8 menjadi 330x223 uint8 yang menandakan citra tersebut terdiri dari 1 komponen warna.
Tahap selanjutnya adalah mengubah citra abu-abu menjadi citra biner. Fungsi untuk mengubah citra abu-abu menjadi citra biner atau citra hitam-
putih menggunakan fungsi im2bw pada Matlab.