Gambar 4.8. sebagai contoh program segmentasi warna kuning dengan cara mengambil nilai
hue
yang memiliki nilai ambang 35 – 50. Nilai ambang ini diperoleh dari
Gambar 2.10, warna kuning pada
semaphore
memiliki rentang nilai 35 – 50.
Segmentasi citra bendera berwarna kuning adalah gabungan dari hasil segmentasi bagian depan yaitu “depan” yang digabungkan dengan hasil segmentasi kuning yaitu
“kuning”. Proses “bkuning1=bwareaopenbkuning,2000” sebagai proses “bwareaopen”
untuk mengetahui daerah mana yang termasuk objek dan
foreground
dari citra secara jelas. Nilai “2000” adalah memisahkan objek yang diperlukan pada citra yang memiliki daerah
warna kuning sesuai luasan piksel sebesar 2000. Contoh proses segmentasi citra bendera berwarna kuning dapat diperlihatkan pada Gambar 4.9.
a b Gambar 4.9. Contoh proses segmentasi citra bendera berwarna kuning; a penggabungan
dari proses “depan” dengan “kuning”; b memilih daerah yang berwarna kuning sesuai luasan piksel yang diinginkan pada citra.
-
Program Potong Gambar
Program ini berfungsi memotong gambar sehingga bagian yang tidak diperlukan dapat dihilangkan.
Potong Gambar axes
handles.axes2; if
sumsumbkuning10 Potong kiri
cout=bkuning1; a=sumcout;
b=finda0; cout:,1:b1-1=[];
Potong kanan cout=fliplrcout;
a=sumcout; b=finda0;
cout:,1:b1-1=[];
a b
d c Gambar 4.10. Proses pemotongan citra; a hasil potong kiri; b hasil potong kanan
setelah putar 180 ; c hasil potong atas setelah diputar -90
; d hasil potong bawah setelah diputar 90
.
Potong atas cout=cout;
a=sumcout; b=finda0;
cout:,1:b1-1=[]; Potong bawah
cout=fliplrcout; a=sumcout;
b=finda0; cout:,1:b1-1=[];
Penyesuaian orientasi cout=cout;
cout=flipudcout; cout=fliplrcout;
else cout=bkuning1;
end imshow cout
axis on
Gambar 4.10, memperlihatkan proses pemotongan citra. Proses pemotongan gambar ini akan ditampilkan pada
axes
2 setelah proses dijalankan keseluruhan. Pada proses ini, gambar yang digunakan adalah citra “bbkuning” yang akan dipotong secara
bertahap dengan cara memutar keseluruhan citra dan kemudian dipotong pada bagian kiri dari citra secara bertahap.
-
Program
Resizing
64x64
Program ini berfungsi untuk menyesuaikan ukuran gambar yang telah dipotong sebelumnya sehingga memiliki ukuran piksel yang sama.
Program di atas menggunakan perintah “imresize” yang berfungsi mengubah
ukuran citra.
Resizing
dapat berdampak memperbesar ataupun memperkecil ukuran citra. Pada program ini ukuran yang diperlukan adalah 64 x 64 piksel. Gambar 4.11.
menunjukkan citra yang telah dipotong untuk selanjutkan diproses pada proses
resizing
.
a b Gambar 4.11. Proses
resizing
pada citra masukkan; a citra yang telah dipotong; b citra yang telah diresizing ke piksel 64 x 64.
-
Program Ekstraksi Ciri
Program ini berfungsi untuk memproses data yang banyak kemudian diekstrak menjadi data yang lebih sedikit namun dari data yang lebih sedikit tersebut telah mewakili
data sebelumnya yang lebih banyak.
Resizing 64x64 axeshandles.axes3;
x10=imresizecout,[64 64]; imshowx10
Terdapat fungsi program “xcwv” untuk memanggil fungsi ekstraksi ciri, dalam fungsi tersebut menggunakan ekstraksi ciri
wavelet haar
. Masukan dari ekstraksi ciri adalah hasil dari proses
resizing
yang berasal dari citra masukkan. Terdapat “des” yang memiliki nilai desimasi yang telah ditentukan oleh pengguna dari
pop-up menu
.
List
program “x12” berfungsi untuk membuat data yang terdiri dari beberapa kolom menjadi hanya satu kolom, sebagai contoh data 32x32 diubah menjadi 1x1024. Keluaran
dari fungsi “xcwv” adalah x11 merupakan hasil dari ekstraksi ciri
wavelet haar
. Hasil dari
list
x11 ini akan ditampilkan pada
axes
4 pada GUI. -
Program Fungsi Jarak
Euclidean
Program ini berfungsi sebagai pembanding antara hasil dari ekstraksi ciri dengan basis data yang telah disediakan.
Perintah program jarak adalah untuk memanggil fungsi jarak
Euclidean
yang akan membandingkan antara hasil keluaran dari ekstraksi ciri yaitu “x12” dengan hasil dari basis
data yaitu “z”. Sehingga “minr” merupakan hasil dari nilai terkecil dari hasil perhitungan
jarak. Nilai terkecil yang diperoleh akan dinyatakan sebagai keluaran dari sistem pengenalan kode huruf
semaphore
. -
Program Keluaran
Program ini berfungsi sebagai penampil hasil pengenalan kode huruf
semaphore
berupa teks.
Dekomposisi wavelet axeshandles.axes4;
x11=xcwvx10,des; x12=x11:;
imshowx11 axis
on --------------------------------------------------------
Keluaran Teks if
minr==r1 z1={
A }
sethandles.text1, string
,z1; elseif
minr==r2 z2={
B }
sethandles.text1, string
,z2; Fungsi Jarak
for n=1:26
rn=jarakx12,z:,n; end
minr=minr
elseif minr==r3
z3={ C
} sethandles.text1,
string ,z3;
elseif minr==r4
z4={ D
} sethandles.text1,
string ,z4;
elseif minr==r5
z5={ E
} sethandles.text1,
string ,z5;
elseif minr==r6
z6={ F
} sethandles.text1,
string ,z6;
elseif minr==r7
z7={ G
} sethandles.text1,
string ,z7;
elseif minr==r8
z8={ H
} sethandles.text1,
string ,z8;
elseif minr==r9
z9={ I
} sethandles.text1,
string ,z9;
elseif minr==r10
z10={ J
} sethandles.text1,
string ,z10;
elseif minr==r11
z11={ K
} sethandles.text1,
string ,z11;
elseif minr==r12
z12={ L
} sethandles.text1,
string ,z12;
elseif minr==r13
z13={ M
} sethandles.text1,
string ,z13;
elseif minr==r14
z14={ N
} sethandles.text1,
string ,z14;
elseif minr==r15
z15={ O
} sethandles.text1,
string ,z15;
elseif minr==r16
z16={ P
} sethandles.text1,
string ,z16;
elseif minr==r17
z17={ Q
} sethandles.text1,
string ,z17;
elseif minr==r18
z18={ R
} sethandles.text1,
string ,z18;
elseif minr==r19
z19={ S
} sethandles.text1,
string ,z19;
elseif minr==r20
z20={ T
} sethandles.text1,
string ,z20;
elseif minr==r21
z21={ U
} sethandles.text1,
string ,z21;
elseif minr==r22
z22={ V
} sethandles.text1,
string ,z22;
Program di atas adalah program untuk menampilkan hasil pengenalan kode huruf
semaphore
berupa teks. Terdapat 26 pengenalan kode huruf
semaphore
yang mewakili A sampai dengan Z. Program “minr==r1” sampai dengan “minr==r26” sebagai
keluaran dari perhitungan jarak, dengan jarak terkecil yang akan ditampilkan.
4.2.5. Tombol Reset
Tombol “Reset” berfungsi sebagai mengembalikan program ke tampilan awal apabila pengguna melakukan kesalahan atau terjadi
error
pada saat proses pengenalan berlangsung. Program pada tombol “Reset” dapat diperlihatkan di bawah ini :
4.2.6. Tombol Keluar
Tombol “Keluar” berfungsi sebagai menutup atau mengakhiri program atau tampilan pada GUI pengenalan kode huruf
semaphore
. Program dapat diperlihatkan sebagai berikut :
function keluar_CallbackhObject, eventdata, handles
hObject handle to keluar see GCBO eventdata reserved - to be defined in a future version of MATLAB
handles structure with handles and pengguna data see GUIDATA close
function reset_CallbackhObject, eventdata, handles
hObject handle to reset see GCBO eventdata reserved - to be defined in a future version of MATLAB
handles structure with handles and pengguna data see GUIDATA axeshandles.axes1
plot0; axeshandles.axes2
plot0; axeshandles.axes3
plot0; axeshandles.axes4
plot0; sethandles.popupmenu,
value ,1;
sethandles.text1, string
, elseif
minr==r23 z23={
W }
sethandles.text1, string
,z23; elseif
minr==r24 z24={
X }
sethandles.text1, string
,z24; elseif
minr==r25 z25={
Y }
sethandles.text1, string
,z25; elseif
minr==r26 z26={
Z }
sethandles.text1, string
,z26; end
4.3. Hasil Pengujian dan Analisis Pengenalan Kode Huruf
Semaphore
Pengujian pengenalan kode huruf
semaphore
dilakukan dengan menggunakan dua cara yang berbeda yaitu secara tidak langsung dan secara langsung. Pengujian secara
langsung dan tidak langsung dilakukan dengan pengubahan parameter uji yang meliputi variasi desimasi yang terdiri dari 3 variasi desimasi dengan nilai desimasi_1 : 32 x 32,
desimasi_2 : 16 x 16, dan desimasi _3 : 8 x 8. Serta menggunakan variasi jarak dengan jarak yang digunakan antara lain 3 meter, 3,5 meter, 4 meter, 4,5 meter, dan 5 meter.
Pengujian secara tidak langsung dilakukan dengan mengambil gambar pose kode huruf
semaphore
yang akan diperagakan oleh 2 orang peraga yang berbeda. Setiap orang akan meragakan pose kode huruf
semaphore
dengan menggunakan 5 variasi jarak yang berbeda. Dari setiap pose akan diambil gambar dan nantinya akan disimpan dan diproses
serta akan dibandingkan dengan basis data yang telah disiapkan sebelumnya. Dalam pengujian tidak langsung data yang diperoleh untuk masing-masing peraga adalah 130
data. Sehingga data yang diperoleh dari 2 orang peraga adalah 260 data. Pengujian secara langsung akan dilakukan oleh 2 orang peraga yang berbeda dari
pengujian tidak langsung. Dalam pengujian ini peraga akan langsung diambil gambar dan diproses dengan menggunakan GUI yang telah dipersiapkan. Pengujian langsung
menggunakan 5 variasi jarak serta 3 variasi desimasi yang berbeda. Dari pengujian langsung akan diperoleh 650 data yang dihasilkan dari setiap peraga. Data diperoleh lebih
banyak dari data yang dilakukan secara tidak langsung karena dalam pengujian langsung peraga mengirimkan kode huruf
semaphore
sebanyak 5 kali pengulangan.
4.3.1. Pengujian Pengenalan Kode Huruf
Semaphore
Secara Tidak Langsung
Pengujian pengenalan kode huruf
semaphore
secara tidak langsung menggunakan gambar pose
semaphore
berjumlah 260 gambar, gambar ini sebagai data yang akan dilakukan proses pengenalan kode huruf
semaphore
. Masing-masing peraga memperagakan huruf
semaphore
dari A sampai Z dengan variasi jarak yaitu 3 meter, 3,5 meter, 4 meter, 4,5 meter, dan 5 meter. Dari setiap jarak yang diperagakan menghasilkan
26 gambar, sehingga gambar yang diperoleh dari 1 peraga adalah 130 gambar. Pengujian secara tidak langsung dilakukan dengan pengubahan parameter uji yang meliputi variasi
desimasi dan variasi jarak. Tujuan dari pengujian secara tidak langsung adalah untuk mengetahui tingkat pengenalan terbaik dari variasi desimasi dan variasi jarak serta
mengetahui pengaruh jarak antara
webcam
dengan pengirim kode huruf
semaphore
. Tahap pertama dalam melakukan pengujian secara tidak langsung adalah memberi
nama pada setiap gambar yang diperoleh dari setiap peraga. Kemudian menentukan nilai variasi desimasi yang akan digunakan. Hasil dari pengenalan kode huruf
semaphore
secara tidak langsung dapat diketahui dengan memproses 26 gambar yang terdiri dari gambar A-Z
secara bersamaan.
Gambar 4.12. Grafik Tingkat Pengenalan secara tidak langsung. Gambar 4.12. memperlihatkan hasil dari tingkat pengenalan kode huruf
semaphore
yang diperoleh dari pengujian secara tidak langsung. Terdapat 3 warna berbeda di dalam Gambar 4.12. tersebut, warna biru mewakili hasil dari pengaruh desimasi 1 terhadap
variasi jarak. Warna merah mewakili hasil dari pengaruh desimasi 2 terhadap variasi jarak dan warna hijau mewakili hasil dari pengaruh desimasi 3 terhadapat variasi jarak.
Pengaruh variasi desimasi dapat diketahui dari Gambar 4.12. Terlihat bahwa pada desimasi 1 memperoleh tingkat pengenalan sebesar 98, untuk desimasi 2 memperoleh
tingkat pengenalan sebesar 96 dan desimasi 3 memperoleh tingkat pengenalan sebesar 91. Variasi desimasi yang dipilih oleh pengguna akan mempengaruhi tingkat pengenalan
kode huruf
semaphore
karena pada desimasi 1 data akan diproses sebanyak 1 kali. Apabila pengguna memilih desimasi 2, maka data akan diproses sebanyak 2 kali pengulangan.
Begitu juga ketika memilih desimasi 3, maka data akan diproses sebanyak 3 kali. Semakin
75 80
85 90
95 100
105
3 3,5
4 4,5
5
T in
g ka
t P
e n
g e
n a
la n
Variasi Jarak m
Presentase Tingkat Pengenalan Terhadap Jarak
DESIMASI 1 DESIMASI 2
DESIMASI 3
besarnya nilai desimasi, maka proses pengulangan konvolusi dan
downsampling
akan dilakukan sebanyak yang diinginkan oleh pengguna. Hal ini akan mengakibatkan gambar
masukan menjadi
blur
kabur dan mempengaruhi tingkat pengenalan yang semakin rendah.
Terdapat pengaruh variasi jarak terhadap tingkat pengenalan kode huruf
semaphore
. Pengujian yang dilakukan secara tidak langsung menggunakan 5 variasi jarak. Dari Gambar 4.12. terlihat bahwa pada jarak 3 meter tingkat pengenalan yang diperoleh
adalah 94, jarak 3,5 meter tingkat pengenalan yang diperoleh adalah 99, untuk jarak 4 meter tingkat pengenalan yang diperoleh adalah 97, jarak 4,5 meter tingkat pengenalan
yang diperoleh adalah 93, dan pada jarak 5 meter tingkat pengenalan yang diperoleh adalah 94.
Variasi jarak akan mempengaruhi tingkat pengenalan kode huruf
semaphore
secara signifikan. Pengaruh dari variasi jarak tersebut dikarenakan pada jarak terdekat, peraga
berada terlalu dekat dengan
webcam
sehingga tidak semua dari bagian
semaphore
dapat diambil gambar. Ketika peraga berada terlalu jauh, maka
webcam
tidak dapat mengambil gambar dengan baik karena keterbatasan spesifikasi dari
webcam
yaitu kualitas foto yang hanya memiliki resolusi sampai dengan 3
megapixels
dan
webcam
yang digunakan memiliki tipe fokus yang tetap.
Dari data yang telah diperoleh, penulis dapat menarik kesimpulan bahwa desimasi 1 memiliki persentase tingkat pengenalan terbaik yaitu 98 . Untuk variasi jarak tingkat
pengenalan terbaik adalah pada jarak 3,5 meter yang memiliki persentase tingkat pengenalan sebesar 99 , jarak ini dianggap paling ideal untuk melakukan pengiriman
kode huruf
semaphore
.
4.3.2. Pengujian Pengenalan Kode Huruf
Semaphore
Secara Langsung
Pengujian secara langsung dilakukan untuk mengetahui pengaruh variasi desimasi dan variasi jarak terhadap tingkat keberhasilan pengenalan kode huruf
semaphore
serta dapat mengetahui nilai desimasi dan jarak yang memiliki tingkat keberhasilan yang
optimal. Dalam pengujian secara langsung data masukan diperoleh dari peraga yang melakukan pengiriman kode huruf
semaphore
. Ketika peraga melakukan pose dengan menggunakan
semaphore
, maka
webcam
akan mengambil gambar pose peraga yang PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
kemudian akan diproses dan hasil dari proses tersebut ditampilkan sebagai keluaran berupa teks.
Dalam pengujian secara langsung data diperoleh dengan menggunakan 2 peraga yang berbeda. Peraga akan memperagakan pose kode huruf
semaphore
dengan 5 variasi jarak yaitu 3 meter, 3,5 meter, 4 meter, 4,5 meter, dan 5 meter serta 3 variasi desimasi.
Data pada setiap pose yang dilakukan akan diubah variasi desimasinya untuk mengetahui hasil dari pengaruh desimasi tersebut. Setiap peraga akan memperagakan pose kode huruf
semaphore
sebanyak 5 kali, hal ini dilakukan agar dalam menentukan tingkat pengenalan desimasi dan jarak lebih akurat. Data yang diperoleh akan dicerminkan dalam metode
koefesien matriks yang terdapat pada lampiran. Tabel 4.1. Citra hasil desimasi jarak
Desimasi Jarak
3 meter 3,5 meter
4 meter 4,5 meter
5 meter
1
2
3
Tabel 4.1. menunjukkan contoh hasil pengenalan kode huruf
semaphore
dengan berbagai macam variasi desimasi dan variasi jarak. Dari gambar tersebut dapat dilihat
bahwa semakin besar nilai variasi desimasi, maka tingkat piksel pada gambar semakin kecil yang menyebabkan gambar menjadi pecah sehingga tingkat pengenalannya juga akan
semakin rendah. Semakin jauh jarak yang digunakan, maka tingkat pengenalan semakin rendah. Hal ini disebabkan karena semakin besar nilai variasi desimasi, maka desimasi
tersebut mengalami pengulangan proses konvolusi dan
downsampling
sebanyak yang diinginkan pengguna, proses ini mengakibatkan gambar masukkan menjadi semakin
blur
kabur sehingga tingkat pengenalannya akan semakin rendah. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tahap pertama dalam melakukan pengujian secara langsung adalah mengambil gambar seorang peraga yang melakukan pose kode huruf
semaphore
dengan menggunakan
webcam
secara langsung dengan bantuan GUI. Kemudian pengguna dapat menentukan nilai
desimasi yang diinginkan dan menekan tombol “Proses” untuk mengetahui hasil dari pengenalan kode huruf
semaphore
.
Gambar 4.13. Grafik Tingkat Pengenalan secara langsung. Dari pengujian secara langsung, dapat diperoleh nilai variasi desimasi dan variasi
jarak yang memiliki tingkat pengenalan yang terbaik dengan cara mencari rerata dari setiap variasi desimasi untuk memperoleh desimasi yang memiliki tingkat pengenalan pola yang
terbaik. Untuk mencari nilai rerata dari setiap variasi jarak untuk memperoleh jarak yang memiliki tingkat pengenalan pola yang terbaik. Hasil dari rerata variasi desimasi dan
variasi jarak yang memiliki tingkat pengenalan yang terbaik dapat diperlihatkan pada Gambar 4.13. Terdapat 3 warna berbeda di dalam Gambar 4.13. tersebut, warna biru
mewakili hasil dari pengaruh desimasi 1 terhadap variasi jarak. Warna merah mewakili hasil dari pengaruh desimasi 2 terhadap variasi jarak dan warna hijau mewakili hasil dari
pengaruh desimasi 3 terhadapat variasi jarak. Pengaruh variasi desimasi dapat diketahui dari Gambar 4.13, terlihat bahwa pada
desimasi 1 memperoleh tingkat pengenalan sebesar 95, untuk desimasi 2 memperoleh tingkat pengenalan sebesar 94 dan desimasi 3 memperoleh tingkat pengenalan sebesar
94. Variasi desimasi yang dipilih oleh pengguna akan mempengaruhi tingkat pengenalan kode huruf
semaphore
karena pada desimasi 1 data akan diproses sebanyak 1 kali. Apabila
91 92
93 94
95 96
97
3 3,5
4 4,5
5
T in
g ka
t P
e n
g e
n a
la n
Variasi Jarak m
Presentase Tingkat Pengenalan Terhadap Jarak
DESIMASI 1 DESIMASI 2
DESIMASI 3