BAB III PERANCANGAN
3.3. Perancangan Perangkat Lunak (Software)
Pada subbab ini akan dijelaskan mengenai algoritma pemograman perancangan perangkat lunak yang akan diaplikasikan ke sistem pengenalan citra koin uang logam rupiah dengan menggunakan perangkat lunak MATLAB. Proses perancangan perangkat lunak dapat dilihat diagram alirnya pada gambar 3.4.
Gambar 3.4. Diagram Alir Perancangan Perangkat Lunak
3.3.1. Akuisisi Citra Koin
1. Inisialisasi Webcam di MATLAB
Pada Proses Pengambilan citra koin, pertama-tama webcam yang akan dipakai harus dikenali dulu di laptop/komputer yang akan dipakai terutama harus dikenali dan disinkronkan dengan perangkat lunak MATLAB karena semua proses pengenalan yang akan dilakukan akan menggunakan MATLAB. Oleh karena itu harus dilakukan inisialisasi
webcam di MATLAB dan beberapa pengaturan yang akan dipakai dalam proses
driver kamera webcam baru yang belum pernah diinstal di laptop. Flowchart inisialisasi
webcam di MATLAB dapat dilihat pada gambar 3.5.
Gambar 3.5. Flowchart Inisialisasi Webcam di MATLAB Cek Informasi Driver Kamera
Apa Saja yang dikenali
Cek Informasi Nomor ID Driver Kamera yang Terdapat
pada Fitur Fungsi Winvideo
Cek Informasi Nomor ID Driver Kamera
yang diinginkan
A
Cek Informasi Format Akuisisi Citra yang Bisa Dipakai dari Driver Kamera yang diinginkan
Inisialisasi Driver kamera yang diinginkan dengan Format Akuisisi Citra Gambar pada Mode Default
Gambar 3.5. (Lanjutan) Flowchart Inisialisasi Webcam di MATLAB
3.3.2. Preprocessing
Pada Proses ini, citra uang koin yang sudah diambil gambarnya diproses terlebih dahulu untuk bisa diketahui karakteristik yang terdapat pada masing-masing uang koin yang akan dideteksi. Ada beberapa tahapan yang dilakukan pada tahap ini untuk mendapatkan citra gambar koin yang diinginkan yang dibagi menjadi tahapan-tahapan berikut ini.
1. Membaca Citra Gambar Koin yang diinginkan di MATLAB
Pada tahapan ini, Citra gambar yang diambil harus dikenali terlebih dahulu pada
MATLAB. Gambar citra yang diambil, ekstensi file yang bisa dikenali oleh
bermacam-macam bisa gambar dengan ekstensi file .JPG, .bmp, dan masih banyak lagi. File gambar yang diambil akan dibaca pada MATLAB akan diubah dan disimpan dalam bentuk yang berupa matriks. Flowchart membaca citra gambar koin di MATLAB dapat dilihat pada gambar 3.6.
A
Testing Kamera
Gambar 3.6. Flowchart Proses Membaca Citra Gambar Koin di MATLAB
2. Proses Resizing
Pada tahapan ini, gambar yang sudah dibaca dan disimpan hasilnya di MATLAB akan di atur ulang ukurannya dengan tujuan untuk mendapat ukuran gambar yang sesuai agar hasil pemrosesan yang akan dilakukan diharapkan mendapatkan hasil yang optimal. Proses
rezising akan menggunakan fungsi built in MATLAB. Flowchart proses resizing dapat
dilihat pada gambar 3.7.
Simpan File di Folder Sistem MATLAB
Baca Citra Gambar Koin
Tampilkan Hasil Baca Citra Gambar Koin
Mulai
Gambar 3.7. Flowchart Proses Resizing Citra Gambar Koin di MATLAB
3. Proses Konversi Citra RGB ke HSV
Pada proses ini, citra gambar yang diambil dari kamera webcam berupa citra gambar yang berformat citra RGB sehingga perlu diubah dulu menjadi citra gambar berformat HSV. Proses konversi citra RGB ke HSV akan menggunakan fungsi built in MATLAB.
Flowchart konversi citra RGB ke HSV dapat dilihat pada gambar 3.8. Resizing Citra Gambar
Koin Mulai
Selesai Input: Hasil Baca Citra Koin
Input: Hasil
Resizing Citra
Gambar 3.8. Flowchart Proses Konversi Citra RGB ke HSV di MATLAB
4. Segmentasi Citra Koin Bagian Foreground
Pada proses ini, segmentasi dilakukan untuk mencari karakteristik dari tiap-tiap koin yang gambarnya sudah diambil dengan menggunakan webcam. Pada proses ini, segmentasi bertujuan untuk memisahkan gambar objek yang diinginkan (foreground) dari gambar latar (background) agar bisa dicari nilai HSV dan luasan pada gambar foreground. Nilai format HSV yang sudah dikonversi tadi nantinya yang akan dipakai dalam penelitian ini adalah nilai saturasi dan value-nya saja karena menyesuaikan dengan warna dari uang koin dalam data penelitian yang akan digunakan. Pada Proses ini terdapat dua proses penting untuk mendapatkan nilai karakteristik yang diinginkan yaitu proses mencari nilai rasio
foreground S&V citra koin serta nilai luasan foreground citra koin. Kedua Proses ini
Ubah Nilai R,G,B ke H,S,V Input : Citra RGB Output : Citra HSV Mulai Selesai
menggunakan fungsi built in MATLAB. Flowchart dari kedua proses segmentasi citra koin bagian foreground dapat dilihat pada gambar 3.9 dan 3.10.
Gambar 3.9. Flowchart Proses Nilai Rasio S&V Foreground Koin di MATLAB
Nilai threshold saturasi (T0) citra koin dan nilai threshold value (T1) citra koin akan di evaluasi nilai-nilainya pada bab 4.
Aplikasikan Threshold
Value (T1) Citra Koin
)) Input : Citra HSV
Aplikasikan Threshold
Saturasi (T0) Citra koin
Mulai
Hitung Nilai Rasio S&V
Foreground Koin
Output : Nilai Rasio S&V Foreground
Koin
Gambar 3.10. Flowchart Proses Mencari Nilai Luasan Foreground Koin di MATLAB
Nilai threshold value (T2) citra koin akan di evaluasi nilainya pada bab 4.
Untuk mencari nilai luasan foreground koin, citra koin yang berupa citra HSV diambil nilai threshold value (T2) dan diaplikasikan ke citra koin. Hasil dari proses ini akan membuat citra koin menjadi citra biner yang dimana citra koin akan berubah menjadi citra gambar yang terdiri dari warna hitam dengan nilai piksel 0 dan warna putih dengan nilai piksel 1. Proses seleksi objek foreground dari background yaitu dengan mengubah
Input : Citra HSV
Mulai
Aplikasikan Threshold
Value (T2) Citra Koin
Seleksi Objek Foreground dari
Background Berdasarkan Nilai T2
Hitung Luasan Objek
Foreground Citra Koin
Output : Luasan
Foreground Koin
nilai piksel 0 menjadi piksel 1 pada area warna hitam yang dikelilingi oleh warna putih. Hasil dari proses ini yaitu warna hitam digambarkan sebagai background dan warna putih digambarkan sebagai objek foreground. Setelah itu, luasan dari objek foreground dapat dihitung dengan menjumlahkan nilai-nilai piksel yang terdapat dalam citra koin yang sudah melalui proses seleksi objek foreground dari background sehingga didapatkan nilai luasan objek foreground citra koin untuk setiap jenis-jenis uang logam rupiah yang ingin dicari luasannya.
3.3.3. Look Up Table (LUT)
Pada proses ini akan dilakukan untuk melakukan pencocokkan data citra input citra koin uang logam rupiah dengan data citra input koin uang logam rupiah yang sudah di
pre-processing dengan melakukan perbandingan jangkauan nilai rasio S&V foreground
(R) koin dan nilai luasan (L) foreground koin.
Jika data nilai karakteristik input citra koin berada pada jangkauan nilai karakteristik tiap masing-masing jenis citra koin yang ada maka output yang akan dihasilkan dari proses ini ialah berupa keluaran dalam bentuk teks nilai nominal uang logam rupiah, jika sebaliknya maka output yang dihasilkan berupa teks error. Penentuan hasil output ini sendiri dapat ditentukan dengan penentuan nilai karakteristik unik dari tiap-tiap jenis uang logam rupiah yang nilai-nilainya akan dievaluasi di bab berikutnya. Flowchart Look Up
Table (LUT) dapat dilihat pada gambar 3.11.
Ya
Tidak
Ya
Tidak
Ya
Tidak
Ya
Tidak
Gambar 3.11. Flowchart Proses Mencari Nilai Look Up Table di MATLAB Input : Citra
Pre-Processing Perbandingan Range Data Nilai R dan L Foreground
Citra Koin Mulai
Jika Nilai R&L Data Input Berada Pada Range Uang 1000?
Jika Nilai R&L Data Input Berada Pada
Range Uang 500?
Jika Nilai R&L Data Input Berada Pada
Range Uang 200?
Jika Nilai R&L Data Input Berada Pada Range Uang 100?
Data Tidak Dikenali atau Error Output : Hasil (Teks) Uang Koin 1000 Uang Koin 500 Uang Koin 200 Uang Koin 100 Selesai