TUGAS AKHIR
PENCACAH BENDA BERDASARKAN BENTUK DAN UKURAN
Diajukan untuk memenuhi salah satu syarat Memperoleh gelar sarjana Teknik pada
Program Studi Teknik Elektro Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh:
YOHANES EKO DENCI BADUR NIM: 145114040
PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
2020
FINAL PROJECT
▸ Baca selengkapnya: berikut bentuk-bentuk pelayanan berdasarkan konsep tindakan, kecuali
(2)THE COUNTER OF OBJECT BASED ON SHAPE AND SIZE
In a partial fulfillment of the requirements For the degree of Sarjana Teknik Depertment of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
,
YOHANES EKO DENCI BADUR NIM: 145114040
DEPARTMENT OF ELECTRICAL ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
2020
iii
iv
v
LEMBAR PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
Skripsi ini saya persembahkan teruntuk…..
Tuhan Yesus Kristus yang selalu memberi bimbingan dan perlindungan di dalam hidup
Kedua Orang Tua dan Keluarga yang selalu memberikan semangat
Adik dan Teman-teman yang selalu mendukung saya dengan cara apapun
Memulai dengan penuh keyakinan
Menjalankan dengan penuh keikhlasan
Menyelesaikan dengan penuh kebahagiaan
vii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma:
Nama : Yohanes Eko Denci Badur Nomor Mahasiswa : 145114040
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:
PENCACAH BENDA BERDASARKAN BENTUK DAN UKURAN
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
viii
INTISARI
Di dunia teknologi yang semakin berkembang pesat ini banyak sekali pengaruhnya pada kehidupan manusia, agar dapat mempermudah pekerjaan manusia. Oleh karena itu, agar dapat mempermudah pekerjaan manusia, dibutuhkan suatu sistem dengan metode yang dapat mengenali suatu objek dengan akurat dan tahan terhadap gangguan. Melihat hal tersebut maka dalam tugas akhir ini akan di buat sistem pengenalan untuk mengenali benda berdasarkan bentuk dan ukuran
Dalam tugas akhir ini sistem di buat dengan menggunakan webcam dan laptop. Secara garis besar beberapa proses kerja dari sistem ini terdiri atas tahap Preprocessing, Labeling dan segmentasi, perhitungan luas dan pengenalan bentuk, perhitungan jumlah benda berdasarkan bentuk dan ukuran, dan kemudian program akan menampilkan hasil pengenalan ke GUI matlab berupa keluaran teks dan angka
Dari hasil penelitian ini adalah sistem dapat mencacah benda berdasarkan bentuk dan ukuran dari 3 benda bundar, persegi dan segitiga dengan ukuran besar, sedang, dan kecil.
Dengan catatan pengujian tanpa rotasi, sistem pengenalan benda berdasarkan bentuk dan ukuran mencapai 100%, sedangkan dengan adanya variasi rotasi, sistem sangat berpengaruh pada tingkat pengenalan benda.
Kata kunci: computer vision, image processing, thinness ratio, varian rotasi
ix
ABSTRACT
In the rapidly developing world of technology, there are many effects on human life, in order to facilitate human work. Therefore, in order to facilitate human work, we need a system with methods that can recognize an object accurately and are resistant to interference. Seeing this then in the task In this final project an introduction system will be made to recognize objects based on their shape and size.
In this final project the system is made using a webcam and a laptop. Broadly speaking, some work processes of this system consist of the stages of Preprocessing, Labeling and segmentation, calculation of area and shape recognition, calculation of the number of objects based on shape and size, and then the program will display the results of the introduction to the GUI matlab in the form of text outputs and numbers
From the results of research This is a system that can chop objects based on the shape and size of 3 large, medium and small round, square and triangle objects. With the test records without rotation, the object recognition system based on shape and size reaches 100%, whereas with the rotation variation, the system is very influential on the level of object recognition.
Keywords: computer vision, image processing, thinness ratio, rotation variants
x
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa atas segala berkat dan karunia yang telah diberikan selama ini sehingga dapat menyelesaikan penelitian tugas akhir dengan judul “PENCACAH BENDA BERDASARKAN BENTUK DAN UKURAN” dengan lancar. Dalam pengerjaan tugas akhir ini penulis diberi dukungan moral dan materi dari banyak pihak hingga tugas akhir ini selesai. Oleh karena hal tersebut, penulis ingin menyampaikan ucapan terima kasih kepada:
1. Kedua orang tua Tercinta yang selalu memberikan sokongan moral dan materi.
2. Bapak Dr.Ir. Linggo Sumarno, M.T. selaku Dosen Pembimbing yang membimbing dengan penuh kesabaran, meluangkan waktu, memberikan ide, kritik dan saran dalam masa pengerjaan tugas akhir ini.
3. Bapak Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elektro Universitas Sanata Dharma Yogyakarta.
4. Seluruh dosen dan laboran Teknik Elektro yang dengan sabar mendidik serta memberi wawasan lebih.
5. Teknik Elektro angkatan 2014 yang telah menjadi bagian dalam proses perkuliahan.
Dengan segala hormat dan rendah hati, penulis menyadari penulisan tugas akhir ini jauh dari kata sempurna. Oleh karena hal tersebut, maka kritik dan saran yang berkaitan dan membangun sangat diharapkan agar tugas akhir ini dapat dikembangkan. Semoga tugas akhir ini dapat berguna bagi pembaca, masyarakat dan bagi yang membutuhkan. Terima kasih.
xi
Daftar isi
HALAMAN SAMPUL (BAHASA INDONESIA) ... i
HALAMAN SAMPUL (BAHASA INGGRIS) ... ii
LEMBAR PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
LEMBAR PERNYATAAN KEASLIAN KARYA ... v
HALAMAN PERSEMBAHAN ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
INTISARI ... vii
ABSTRACK ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xi
DAFTAR GAMBAR ... xiv
DAFTAR TABEL ... xvi
BAB I : PENDAHULUAN ... 1
1.1. Latar belakang ... 1
1.2. Tujuan Dan Manfaat ... 2
1.3. Batasan Masalah ... 2
1.4. Metodologi Penelitian ... 3
BAB II : Dasar Teori ... 4
2.1. komputer Vision ... 4
xii
2.2. Pemrosesan Citra... 4
2.2.1. Definisi Citra ... 4
2.2.2. Citra RGB ... 5
2.2.3. Citra Grayscale ... 6
2.2.4. Citra Biner ... 7
2.2.5. konversi citra RGB ke Grayscale ... 7
2.2.6. Konversi Citra Grayscale ke Citra Biner ... 8
2.2.7. Median Filtering ... 9
2.2.8. Labeling Benda ... 10
2.2.9. Segmentasi Citra ... 11
2.3. Pengenalan Bentuk Dan Ukuran ... 13
2.3.1. Area ... 13
2.3.2. Thinness Rasio ... 14
2.3.3. Perimeter ... 15
BAB III : PERANCANGAN PENELITIAN ... 16
3.1. Proses Pencacah Benda Berdasarkan Bentuk Dan Ukuran ... 16
3.2. Perancangan perangkat Lunak ... 17
3.2.1. Akuisisi Citra ... 17
3.2.2. Image Preprocessing ... 18
3.2.3. Labeling Dan Segmentasi ... 19
3.2.4. Perhitungan Luas ... 20
3.2.5. Pengenalan Bentuk ... 21
3.2.6. Perhitungan Jumlah Benda Berdasarkan Bentuk Dan Ukuran ... 22
xiii
3.3.1. Flowchart Tombol Camera ON ... 27
3.3.2. Flowchart Tombol Capture ... 27
3.3.4. Flowchart Tombol Exit ... 29
BAB IV : HASIL DAN PEMBAHASAN ... 30
4.1. Pengujian Tanpa Rotasi ... 30
4.1.1. Pengujian Keberhasilan Pencacah Benda Berdasarkan Bentuk Dan Ukuran ... 31
4.2. Pengujian Pengaruh Rotasi ... 40
4.3. Beberapa Catatan ... 42
4.4. Perbandingan Dengan Penelitian Sebelumnya ... 42
BAB V : KESIMPULAN DAN SARAN ... 44
5.1. Kesimpulan ... 44
5.2. Saran ... 44
DAFTAR PUSTAKA ... 45 LAMPIRAN
xiv
DAFTAR GAMBAR
Gambar 2.1 Sistem Koordinat Citra[7] ... 5
Gambar 2.2. warna RGB[12] ... 5
Gambar 2.3. Citra Grayscale skala keabuan[7] ... 6
Gambar 2.4. contoh citra Biner[7] ... 7
Gambar 2.5. pengubahan citra RGB ke citra grayscale[3]... 8
Gambar 2.6. pengubahan nilai pixel pada proses thresholding [8] ... 9
Gambar 2.7. Median Filtering (a) Input (b) Output ... 10
Gambar 2.8. labeling (a) citra input (b) citra hasil labeling Benda ... 11
Gambar 2.9. (a) citra hasil labelling (b) Segmentasi benda 1 (c) segmentasi benda 2 (d) segmentasi benda 3. ... 12
Gambar 2.10. Area benda segitiga... 14
Gambar 2.11. Perimeter benda persegi ... 15
Gambar 3.1. Blok Diagram Proses Pengenalan Benda 2 D ... 16
Gambar 3.2. Flowchart Akuisisi Citra ... 17
Gambar 3.3. Flowchart Image Preprocessing... 18
Gambar 3.4. Flowchart Labeling dan Segmentasi ... 19
Gambar 3.5. Flowchart perhitungan luas pada matlab ... 20
Gambar 3.6. Flowchart pengenalan bentuk pada matlab ... 22
Gambar 3.7. Flowchart proses perhitungan jumlah benda berdasarkan bentuk dan ukuran... 23
Gambar 3.8. Perancangan GUI pada matlab ... 25
xv
Gambar 3.10. Flowchart tombol camera on ... 27
Gambar 3.11. Flowchart tombol capture ... 28
Gambar 3.12. Flowchart diagram alir tombol proses ... 28
Gambar 3.13. Flowchart diagram alir tombol exit ... 29
Gambar 4.1. area peletakan benda (A) area peletakan a, sebagai tempat peletakan benda berukuran sedang dan kecil dan (B). area peletakan b, sebagai tempat peletakan benda berukuran besar ... 30
Gambar 4.2. pengujian dengan 1 benda ... 33
Gambar 4.3. pengujian dengan 2 benda ... 34
Gambar 4.4. pengujian dengan 3 benda ... 38
Gambar 4.5. pengujian dengan 4 benda ... 39
xvi
DAFTAR TABEL
Tabel 3.1. Keterangan GUI ... 26
Tabel 4.1. pengujian dengan 1 benda ... 32
Tabel 4.2. pengujian dengan 2 benda ... 33
Tabel 4.3. pengujian dengan 3 benda ... 35
Tabel 4.4. pengujian dengan 4 benda ... 38
Tabel 4.5. nilai area hasil pengujian pengaruh rotasi... 40
Tabel 4.6. nilai Perimeter hasil pengujian pengaruh rotasi ... 41
Tabel 4.7. nilai Thinness ratio hasil pengujian pengaruh rotasi ... 41
Tabel 4.8. hasil perbandingan penelitian ... 43
1
BAB I
PENDAHULUAN
1.1. Latar belakang
Saat ini masih ada industri yang menggunakan tenaga manusia dalam pemilihan barang berdasarkan bentuk dan ukurannya, contohnya perusahaan pembuatan suku cadang mobil yang masih memerlukan bantuan tenaga manusia untuk memisah antara suku cadang yang satu dengan yang lainnya karena perbedaan ukuran dan bentuk dari setiap suku cadang.
Walaupun karakteristik dan standard kualitas barang sudah ditentukan, namun setiap manusia mempunyai kemampuan yang berbeda dalam mengolah informasi barang tersebut. Sehingga penggunaan tenaga manusia dalam pemilahan barang dirasa kurang efektif dan efisien.
Pengolahan citra merupakan salah satu bagian penting pada industri moderen.
Pengolahan citra sendiri sangat minim digunakan dalam pemilihan jenis bentuk dan ukuran dari suatu produk, karena pada umumnya pemilihan jenis bentuk dan ukuran dari suatu produk masih memerlukan bantuan dari manusia itu sendiri. Dengan pengolahan citra diharapkan produk dapat dipilih sesuai dengan karakteristiknya. Karakteristik tersebut berupa bentuk dan ukuran.
Sistem pengenalan benda berdasarkan bentuk sudah pernah dilakukan, antara lain oleh Hasan[1]. Hasil dari penelitian ini adalah sistem yang dapat membedakan 4 macam bentuk benda, yakni : kubus, balok, tabung, bola, secara realtime. Sistem kerja yaitu mula-mula benda berada pada posisi yang telah ditentukan dan dipindahkan ke beberapa tempat penyimpanan sesuai dengan bentuk objeknya.
Dari penelitian tersebut ingin di kembangkan suatu sistem yang dapat mengenali objek benda berdasarkan bentuk dan ukuran dengan peletakan tidak tetap dan tidak bersentuhan.
Metode yang digunakan meliputi area, perimeter dan thinnes ratio yang Sistem kerjanya benda akan diletakan secara acak di atas area kerja yang kemudian benda-benda tersebut akan di cacah sesuai bentuk dan ukurannya
1.2. Tujuan Dan Manfaat
Tujuan yang ingin dicapai dalam pembuatan tugas akhir ini adalah membuat mengaplikasikan computer vision sistem yang dapat mengenali 3 macam benda berdasarkan bentuk dan ukuran benda secara realtime.
Manfaat dari penulisan tugas akhir ini adalah :
1. Sebagai media pembelajaran pengaplikasian computer vision dan image processing.
2. Sebagai dasar penelitian mengenai aplikasi computer vision sebagai pencacah benda berdasarkan bentuk dan ukuran menggunakan webcam.
1.3. Batasan Masalah
Pembuatan tugas akhir ini di tetapkan beberapa batasan masalah pada perancangan ini, yaitu sebagai berikut :
1. Masukan berupa 3 buah benda dua dimensi dengan ukuran yang berbeda-beda yaitu bundar, persegi, dan segitiga yang terbuat dari kertas karton.
2. Ukuran dari masing-masing benda terdiri dari 3 bagian yaitu : a. Besar
i. Dua benda Bundar (diameter = 7cm) ii. Dua benda Persegi (sisi-sisi = 7cm) iii. Dua benda Segitiga (sisi-sisi = 7cm) b. Sedang
i. Dua benda Bundar (diameter = 5cm) ii. Dua benda Persegi (sisi-sisi = 5cm) iii. Dua benda Segitiga (sisi-sisi = 5cm) c. Kecil
i. Dua benda Bundar (diameter = 3cm) ii. Dua benda Persegi (sisi-sisi = 3cm) iii. Dua benda Segitiga (sisi-sisi = 3cm)
3. Posisi Benda diletakan secara acak dan jumlah benda tidak di batasi asalkan tidak bersentuhan.
4. Jarak antara webcam dan objek tetap, yakni 15 cm.
terhubung dengan software yang terhubung dengan MATLAB.
6. Box hitam merupakan media untuk meletakan objek benda, di dalam Box hitam tersebut sudah terpasang webcam. Ukuran dan bentuk yakni:
a. Berbentuk persegi berwarna hitam.
b. Ukuran ( sisi-sisi = 30cm, tinggi = 30cm).
c. Posisi webcam di pasang secara vertikal.
7. Hasil keluaran berupa jumlah bentuk dan ukuran benda pada tampilan GUI.
1.4. Metodologi Penelitian
Langkah yang dilakukan dalam pengerjaan tugas akhir ini adalah :
1. Pengumpulan bahan-bahan referensi berupa buku dan jurnal ilmiah yang membahas mengenai webcam dan image processing pada MATLAB, pemrograman, serta buku- buku pendukung lainnya.
2. Perancangan hardware dan software. Tahap ini bertujuan untuk membentuk model yang cocok dari sistem yang akan dibuat dengan memperhatikan faktor permasalahan yang telah ditentukan.
3. Membuat program GUI menggunakan aplikasi MATLAB untuk pengolahan citra menggunakan webcam Logitech C270 sebagai pengidentifikasi bentuk dan ukuran pada benda.
4. Pengambilan data.
Pengambilan data dilakukan berdasarkan tampilan hasil pengujian yang dilakukan. Data yang diambil adalah hasil pengenalan yang ditampilkan pada GUI matlab serta beberapa tambahan data berupa sampel hasil citra biner dan perhitungan perimeter, area dan thinnes ratio
5. Analisa dan penyimpulan hasil percobaan.
Analisa dan penyimpulan hasil percobaan dapat dilakukan dengan melihat tingkat keberhasilan pencacah berdasarkan bentuk dan ukuran terhadap benda yang akan dikenali, dalam hal apakah metode yang digunakan, sistem dapat mencacah dengan benar seluruh benda yang digunakan dalam penelitian ini.
4
BAB II DASAR TEORI
2.1. Computer Vision
Dalam istilah sederhana, computer vision adalah bagaimana komputer dapat melihat.
Computer vision adalah bidang yang mencakup metode untuk memperoleh, mengolah, menganalisis, dan memahami data visual seperti gambar dan video. Tujuan utama dari computer vision agar komputer dapat meniru kemampuan perseptual mata manusia dan otak, atau bahkan mengunggulinya untuk tujuan tertentu.[2]
Bidang yang berkaitan erat dengan computer vision adalah image processing (pengolahan citra) dan machine vision (visi mesin). Ada tumpang tindih yang signifikan dalam berbagai teknik dan aplikasi yang mencakup dua bidang tersebut. Hal ini menunjukkan teknik dasar yang digunakan dan dikembangkan kurang lebih sama. Computer vision mencakup teknologi utama untuk menganalisis citra secara otomatis yang digunakan dalam bidang lain.
Sedangkan machine vision biasanya mengacu pada proses penggabungan analisis citra otomatis dengan metode dan teknologi lain baik berupa software maupun hardware untuk mencapai tujuan tertentu[4].
2.2. Pemrosesan Citra (Image Processing) 2.2.1. Definisi citra
Citra digital adalah citra f(x,y) di mana dilakukan diskritisasi koordinat sampling spasial dan diskritisasi tingkat kwantisasi (keabuan/ kecemerlangannya). Citra digital merupakan fungsi intensitas cahaya f(x,y), dimana harga x dan harga y adalah koordinat spasial. Harga fungsi tersebut di setiap titik (x,y) merupakan tingkat kecemerlangan citra pada titik tersebut Citra digital merupakan suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya (yang disebut sebagai elemen gambar/ pixel/ piksel/ pels/
picture element) menyatakan tingkat keabuan pada titik tersebut[5]. Matrik yang dinyatakan Citra. digital yaitu dengan matriks berukuran N (baris/tinggi) x M (kolom/lebar)[3].
Sistem koordinat citra padat dilihat pada gambar 2.1.
Gambar 2.1 Sistem Koordinat Citra[7]
2.2.2. Citra RGB
RGB adalah suatu model warna yang terdiri dari merah, hijau, dan biru, digabungkan dalam membentuk suatu susunan warna yang luas. Red (Merah), Green (Hijau) dan Blue (Biru) merupakan warna dasar yang dapat diterima oleh mata manusia. Setiap piksel pada citra warna mewakili warna yang merupakan kombinasi dari ketiga warna dasar RGB. Setiap titik pada citra warna membutuhkan data sebesar 3 byte. Setiap warna dasar memiliki intensitas tersendiri dengan nilai minimum nol (0) dan nilai maksimum 255 (8 bit). RGB didasarkan pada teori bahwa mata manusia peka terhadap panjang gelombang 630nm (merah), 530 nm (hijau), dan 450 nm (biru)[12].
Gambar 2.2. warna RGB[12]
Pada gambar di atas dapat diambil beberapa kesimpulan yaitu:
1. RGB terdiri dari tiga warna utama, yaitu merah, hijau, dan biru.
2. Campuran dua warna pada RGB menghasilkan warna baru, yaitu kuning = merah + hijau, cyan = hijau + biru, dan magenta = biru + merah.
3. Bila seluruh warna merah, hijau, dan biru dicampur akan menghasilkan warna putih.
4. Bila warna merah, hijau, dan biru tidak dicampur maka akan menghasilkan warna hitam.
5. Jenis warna lain akan dihasilkan oleh variasi campuran warna dan intensitas campuran setiap warna
2.2.3. Citra Grayscale
Proses awal yang dilakukan dalam image processing adalah mengubah citra berwarna (citra RGB) menjadi citra Grayscale, hal ini bertujuan untuk menyederhanakan model citra tersebut karena citra berwarna terdiri atas tiga layer matriks yaitu Red- layer, Green- layer dan Blue- layer[1]. Sehingga untuk melakukan proses-proses selanjutnya tetap harus memperhatikan tiga layer tersebut. Bila setiap proses perhitungan dilakukan menggunakan tiga layer tersebut, berarti dilakukan tiga perhitungan yang sama, sehingga konsep itu diubah dengan menggunakan tiga layer di atas menjadi satu layer matriks Grayscale dan hasilnya adalah citra Grayscale. Dalam citra ini tidak ada lagi warna, yang ada hanyalah derajat ke abuan yang memiliki nilai 0-255.
Bentuk citra grayscale 8 byte merupakan citra digital yang hanya memiliki suatu nilai kanal pada pixel. Warna yang dimiliki adalah ke abuan, hitam dan putih. Citra hitam putih mempunyai nilai kuantisasi derajat ke abuan sampai tingkatan ke 256 artinya mempunyai skala abu dari 0 sampai 255 atau selang [0 255]. Citra ini memerlukan 1 byte (8 bit) untuk representasi setiap pixelnya (256 =28) [6]. Gambar 2.3. menunjukkan contoh citra skala ke abuan.
Gambar 2.3. Citra Grayscale skala keabuan[7]
2.2.4. Citra Biner
Citra biner adalah citra yang hanya memiliki dua kemungkinan nilai piksel yaitu, hitam dan putih. Piksel-piksel benda bernilai ‘1’ dan piksel-piksel latar belakang bernilai ‘0’. Pada saat menampilkan gambar, ‘0’ adalah putih dan ‘1’ adalah hitam[3]. Meskipun saat ini citra berwarna lebih disukai karena memberi kesan yang lebih kaya daripada citra biner, namun tidak membuat citra biner mati. Pada beberapa aplikasi citra biner masih tetap dibutuhkan, misalnya citra logo. Contoh citra biner dapat di lihat pada contoh 2.4.
Gambar 2.4. contoh citra Biner[7]
2.2.5. konversi citra RGB ke Grayscale
Berdasarkan jenis warnanya, citra digital dapat dibedakan menjadi tiga jenis yaitu citra RGB, citra grayscale, dan citra biner. Citra RGB (Red, Green, Blue) merupakan citra yang nilai intensitas pikselnya tersusun oleh tiga kanal warna yaitu merah, hijau, dan biru. Citra grayscale adalah citra yang nilai intensitas pikselnya berdasarkan derajat keabuan. Sedangkan citra biner adalah citra yang hanya memiliki dua nilai intensitas yaitu 0 (hitam) dan 1 (putih).
Untuk memudahkan pengolahan citra, biasanya citra RGB akan dikonversi menjadi citra skala keabuan (grayscale). Karena pada citra RGB pengolahan citra akan dilakukan dengan menghitung pada 3 channel warna, sedangkan pada citra skala keabuan cukup 1 channel warna sehingga memudahkan proses komputasi. Format citra skala keabuan memakai warna hitam sebagai warna minimal (0) dan warna putih (255) sebagai warna maksimalnya, sehingga warna antaranya adalah abu-abu[3].
Untuk mengkonversi nilai citra RGB ke citra grayscale dapat menggunakan persamaan berikut :
𝑮𝒓𝒂𝒚𝒔𝒄𝒂𝒍𝒆 = (𝟎. 𝟐𝟗𝟗 ∗ 𝐑) + (𝟎. 𝟓𝟖𝟕 ∗ 𝐆) + (𝟎. 𝟏𝟏𝟒 ∗ 𝐁) (2.1)
Gambar 2.5. Merupakan Contoh pengubahan citra RGB ke citra grayscale
(a) Citra RGB (b) Citra grayscale
Gambar 2.5. pengubahan citra RGB ke citra grayscale[3]
2.2.6. Konversi Citra Grayscale ke Citra Biner
Proses konversi citra grayscale ke citra biner memerlukan suatu nilai batas yang biasa di sebut nilai threshold. Nilai intensitas dari citra grayscale yang lebih dari atau sama dengan nilai threshold akan diubah menjadi 1 (warna putih) sedangkan untuk nilai intensitas citra grayscale yang kurang dari nilai threshold akan diubah menjadi 0 (warna hitam). Sehingga citra yang keluar dari hasil thresholding merupakan citra biner[8].
Untuk konversi nilai pixel citra grayscale menjadi citra biner pada metode threshold dapat digunakan persamaan berikut :
𝒈(𝒙, 𝒚) = {𝟏, 𝒋𝒊𝒌𝒂 𝒇(𝒙, 𝒚) ≥ 𝑻
𝟎, 𝒋𝒊𝒌𝒂 𝒇(𝒙, 𝒚) < 𝑻 (2.2)
Dimana: 𝑓(𝑥, 𝑦) : Nilai intensitas citra grayscale 𝑔(𝑥, 𝑦) : Citra biner
T : Nilai Threshold
Contoh pengubahan nilai pixel citra grayscale ke citra biner menggunakan metode thresholding dapat di lihat pada gambar 2.6.
Gambar 2.6. pengubahan nilai pixel pada proses thresholding [8]
2.2.7. Median Filtering
Noise merupakan gangguan yang dapat terjadi pada citra digital, terjadinya noise dikarenakan pencahayaan yang kurang baik dan gangguan fisik pada alat akuisisi. Noise pada citra digital dapat berupa titik-titik hitam di area citra yang berwarna putih ataupun titik-titik putih pada area yang berwarna hitam. Untuk mengurangi noise pada citra digital dapat dilakukan dengan median filtering.
Median filter merupakan salah satu filter nonlinear yang bertujuan untuk mengurangi noise atau gangguan pada citra. Dikatakan non-linear karena cara kerja metode ini tidak termasuk dalam katagori operasi konvolusi. Operasi non-linear dihitung dengan mengurutkan nilai intensitas sekelompok pixel, kemudian nilai pixel yang diproses akan digantikan dengan nilai tertentu[9]
Pada median filter yang memuat pixel ganjil di geser titik per titik pada seluruh daerah citra. Nilai-nilai yang berbeda pada window diurutkan ascending yang nantinya akan di hitung nilai mediannya. Nilai tersebut akan menggantikan nilai yang berbeda pada pusat window [9].
Nilai pixel pada pusat bidang window dapat dihitung dengan mencari nilai median dari nilai intensitas sekelompok pixel yang telah diurutkan jika window tersebut ditempatkan pada suatu bidang citra[10]. Secara matematis dapat dirumuskan sebagai berikut :
𝒈(𝒙, 𝒚) = 𝑴𝒆𝒅𝒊𝒂𝒏{𝒇(𝒙 − 𝒊, 𝒚 − 𝒋), (𝒊, 𝒋) ∈ 𝑾} (2.3)
dimana :
g(x,y) : Citra yang dihasilkan dari citra
f(x,y) : W sebagai window yang ditempatkan pada bidang citra (𝑖,j) : Elemen dari window.
Contoh Median Filteringwindow 3x3 pada citra biner dapat dilihat pada gambar 2.7
(a) (b)
Gambar 2.7. Median Filtering (a) Input (b) Output.
2.2.8. Labeling Benda
Labeling adalah suatu proses pemberian label yang sama pada sekumpulan pixel pembentuk benda yang saling berdekatan pada suatu citra. Benda yang berbeda memiliki label yang berbeda pula. Pada proses pelabelan, piksel berlabel nol adalah latar belakang, piksel berlabel satu merupakan label pada benda pertama, piksel berlabel dua merupakan label pada benda ke dua, dan seterusnya. Labeling memiliki peran yang sangat penting pada pengolahan citra untuk mempermudah proses penganalisaan bentuk dan pengenalan pola pada tahap high level [7]. Contoh labeling benda pada citra biner dapat dilihat pada gambar 2.8.
Gambar 2.8. Labeling (a) citra input (b) citra hasil labeling Benda.
2.2.9. Segmentasi Citra
Segmentasi citra dilakukan untuk memisahkan beberapa benda agar nantinya dapat mempermudah ke proses selanjutnya. Umumnya hasil keluaran segmentasi citra berupa citra biner di mana benda yang di kehendaki berwarna putih (bernilai 1), sedangkan benda berwarna hitam akan di hilangkan (bernilai 0)[11]. Contoh hasil segmentasi dapat dilihat pada gambar 2.9.
(c) (d)
Gambar 2.9. (a) citra hasil labelling (b) Segmentasi benda 1 (c) segmentasi benda 2 (d) segmentasi benda 3.
Pada gambar 2.9 dilakukan proses segmentasi benda. Pada segmentasi benda pertama jika terdapat pixel yang nilainya tidak sama dengan 1 maka nilai pixel akan diubah menjadi bernilai 0 sedangkan untuk pixel bernilai sama dengan 1 nilai pixel tetap bernilai 1, dengan cara tersebut akan didapat hasil segmentasi untuk benda pertama. Pada segmentasi benda kedua jika terdapat pixel yang nilainya tidak sama dengan 2 maka nilai pixel diubah bernilai 0, sedangkan untuk pixel yang bernilai sama dengan 2 nilai pixel diubah menjadi bernilai 1, demikian akan didapatkan hasil segmentasi untuk benda kedua. Pada segmentasi benda ketiga jika terdapat pixel yang nilainya tidak sama dengan 3 maka nilai pixel diubah menjadi bernilai 0 sedangkan untuk pixel yang bernilai sama dengan 3 nilai pixelnya diubah menjadi 1, demikian akan didapatkan hasil segmentasi benda ketiga.
2.3 Pengenalan Bentuk Dan Ukuran
untuk dapat mengenali gambar, maka diperlukan suatu metode yang digunakan untuk melihat perbedaan data yang dimiliki oleh masing-masing gambar yang akan dikenali. Metode yang digunakan yaitu dengan mencari nilai area, nilai perimeter dan nilai thinness ratio (untuk mengenali bentuk benda).
2.3.1. Area
Area merupakan banyaknya pixel pada suatu benda (luas benda). Benda pada citra biner direpresentasikan degan warna putih. Nilai pixel citra berwarna putih pada area tersebut bernilai 1. Jumlah pixel (yang bernilai 1) pada suatu benda dalam citra digital adalah nilai areanya.
Jumlah pixel area dari setiap benda berbeda-beda, misalkan benda bundar nilai areanya adalah 1250 pixel, sedangkan benda persegi adalah 2150 pixel. Perbedaan nilai area benda ini digunakan dalam perhitungan thinness ratio untuk menentukan bentuk suatu benda dalam citra digital [7]. Untuk mengenali ukuran dari suatu benda bisa menggunakan rumus area sebagai berikut :
𝑨𝒊= ∑ ∑ 𝑶𝒊(𝒙, 𝒚)
𝑵
𝒚=𝟏 𝑴
𝒙=𝟏
(2.4)
Keterangan :
𝐴𝑖 = jumlah pixel dari luas benda (area) M = Kolom pixel
N = Baris pixel
𝑂𝑖 = Benda dalam sebuah citra
Gambar 2.10 menunjukkan contoh gambar area
Gambar 2.10. Area benda segitiga.
Berdasarkan informasi yang didapat dari gambar 2.10 dapat diketahui nilai area dengan menggunakan persamaan 2.5. nilai area benda adalah 9, didapatkan dari penjumlahan tiap pixel pada citra benda.
2.3.2. Thinness Ratio
Thinness ratio merupakan perbandingan banyaknya pixel area dengan banyaknya pixel perimeter dari suatu benda dalam citra digital. Setiap bentuk benda memiliki nilai thinness ratio yang berbeda-beda. Nilai tersebut digunakan sebagai perbandingan untuk menentukan bentuk benda yang diamati. Untuk benda yang bentuknya sama tapi ukurannya berbeda, nilai thinness rationya tetap sama, hal ini dikarenakan perbandingan jumlah pixel area dan pixel perimeternya tetap sama[7]. Rumus thinness ratio adalah :
𝑻
𝒊=
𝟒𝝅𝑨𝒊𝑷𝒊𝟐 (2.5)
Keterangan : 𝑇𝑖 = thinness ratio
𝐴𝑖 = jumlah pixel dari luas benda (area)
Pi =jumlah pixel dari keliling benda (perimeter)
2.3.3. Perimeter
Perimeter merupakan banyaknya pixel pada boundary atau tepi benda. Perimeter sendiri didapatkan dari hasil deteksi tepi suatu benda dalam citra digital. Jumlah pixel perimeter dari setiap benda berbeda. Perbedaan nilai perimeter dari benda digunakan dalam perhitungan thinnes ratio untuk menentukan bentuk suatu benda pada citra digital, jumlah pixel dihitung berdasarkan pixel (yang bernilai 1) pada tepi suatu benda [7]. Contoh gambar perimeter dapat dilihat pada gambar 2.11.
(a) Benda (b) perimeter benda Gambar 2.11. Perimeter benda persegi.
Berdasarkan gambar 2.11, dapat diketahui nilai perimeter benda segitiga tersebut adalah 9. Nilai perimeter ini didapatkan dari jumlah pixel yang bernilai 1 pada tepi benda.
16
BAB III
PERANCANCANGAN PENELITIAN
3.1. Proses Pencacah Benda Berdasarkan Bentuk Dan Ukuran
Proses perancangan software pencacah benda terdiri dari beberapa proses, yaitu pengambilan citra, preprocessing, klarifikasi bentuk dan ukuran benda. Proses perancangan pencacah benda berdasarkan bentuk dan ukuran dapat di lihat pada gambar 3.1.
Gambar 3.1. Blok Diagram Proses Pengenalan Benda 2 D.
Berdasarkan gambar blok diagram di atas proses pengambilan gambar dilakukan dengan menggunakan webcam, pada tahap preprocessing terlebih dahulu mengubah citra hasil capturing webcam menjadi citra RGB. Kemudian citra RGB tersebut diubah ke citra grayscale, kemudian citra grayscale tersebut diubah ke citra biner(0 dan 1). Langkah
Akuisisi Citra
Image Preprocessing
Labeling dan segmentasi
Perhitungan jumlah benda berdasarkan bentuk dan ukuran
Pengenalan Bentuk Perhitungan
Luas
Keluaran berupa teks dan angka
30 cm
selanjutnya melakukan labeling pada tiap-tiap benda dalam citra. Labeling pada benda bertujuan untuk menghitung jumlah benda yang akan di kenali bentuk dan posisinya dalam citra biner. Masing-masing benda yang sudah diberi label kemudian disegmentasi untuk memisahkan antara benda dengan backgroundnya. Selanjutnya merupakan proses pengenalan bentuk di mana setiap benda akan dikenali bentuknya. setelah pengenalan benda tahap selanjutnya mencari nilai luasan dan menghitung jumlah benda berdasarkan bentuk dan ukurannya.
3.2. Perancangan Perangkat Lunak 3.2.1. Akuisisi Citra
Proses akuisisi citra merupakan proses menangkap (capture) suatu citra analog sehingga memperoleh citra digital. Tahap awal akuisisi citra dilakukan dengan menghidupkan kan web camera, dan pada proses capture sistem akan mengambil citra benda. Gambar yang di hasilkan webcam berupa citra RGB. Flowchart akuisisi citra dapat dilihat pada gambar 3.2.
Output : Citra RGB
Capture Camera On
Mulai
Selesai
Gambar 3.2. Flowchart Akuisisi Citra.
3.2.2. Image Preprocessing
Image preprocessing dilakukan untuk mendapatkan citra benda yang baik sehingga citra tersebut dapat diolah demi mendapatkan nilai-nilai yang diinginkan. Seperti untuk mencari bentuk dan ukuran dari suatu benda. Image preprocessing memiliki beberapa tahapan yaitu mengubah citra RGB ke citra grayscale yang dapat dilihat pada persamaan (2.1), sedangkan program pada matlab yang digunakan untuk mengubah RGB ke citra biner adalah rgb2gray. Kemudian citra grayscale tersebut akan diubah ke citra biner. Untuk mendapatkan citra Biner dapat menggunakan rumus persamaan (2.2), sedangkan program pada matlab menggunakan im2bw. tahap selanjutnya merupakan proses median filtering yang bertujuan untuk mengurangi noise atau gangguan pada citra. Untuk proses median filtering dapat menggunakan persamaan (2.3), sedangkan program yang digunakan pada matlab adalah medfilt2. setelah melewati tahapan median filtering, maka akan didapatkan output citra biner. Proses preprocessing dapat dilihat pada gambar 3.3.
Input Citra RGB
Konversi citra grayscale ke citra
biner
Median Filtering
Output : Citra Biner
Mulai
Selesai Konversi citra RGB
ke citra grayscale
Gambar 3.3. Flowchart Image Preprocessing.
3.2.3. Labeling Dan Segmentasi
Labeling merupakan proses pelabelan benda yang bertujuan untuk memberikan identitas pada masing-masing citra benda. Segmentasi bertujuan untuk memisahkan setiap citra benda sesuai dengan label yang sudah diberikan. Program pada matlab yang digunakan untuk labeling benda yaitu program bwlabel. Selanjutnya citra benda akan di hitung jumlahnya. proses selanjutnya merupakan segmentasi citra yang bertujuan untuk memisahkan setiap citra benda sesuai dengan hasil labeling agar mempermudah dalam proses pengidentifikasian citra benda. Untuk segmentasi dapat dilihat pada contoh gambar (2.8). Ouput citra hasil segmentasi berupa cell Array yang akan digunakan untuk mencari bentuk dan ukuran benda. Flowchart labeling dan segmentasi dapat di lihat pada gambar 3.4.
Input : Citra Biner
Labeling Benda
Menghitung Jumlah Benda Mulai
Ouput : Cell Array Segmen
Segmentasi Benda
Selesai
Gambar 3.4. Flowchart Labeling dan Segmentasi.
3.2.4. Perhitungan Luas
Proses perhitungan luas dilakukan dengan masukan matriks segmen. Pada tahap Cell Array, citra benda akan dipisah menjadi beberapa bagian agar nantinya dapat mempermudah ke proses selanjutnya. Untuk proses segmentasi dapat dilihat pada contoh gambar (2.9). setelah citra benda dipisah menjadi beberapa bagian, tahap selanjutnya adalah menghitung luas. Perhitungan luas dilakukan pada citra benda hasil segmentasi yang sudah di pisah menjadi beberapa bagian, sehingga pada masing-masing citra benda hasil segmentasi mempunyai nilai luasannya. Untuk perhitungan nilai luas dapat dilihat pada persamaan (3.5).
Input:
Cell Array Segmen
Luasan (k) = Luas Benda
Output : Matriks Luasan
k = Jumlah Segmentasi k= k+1
Selesai
Ya Tidak
k = 1
Ambil Segmen {k}
Hitung Luas Benda Mulai
Gambar 3.5. Flowchart perhitungan luas pada matlab.
3.2.5. Pengenalan Bentuk
Pada tahap ini proses pengenalan benda dilakukan dengan mencari nilai area, perimeter dan thinnes ratio dari masukan Cell Array segmen. Untuk mendapatkan nilai area pada matlab , nilai area dicari menggunakan persamaan (2.4). Setelah mendapatkan nilai area, tahap selanjutnya mencari nilai perimeter dari citra benda. Untuk mendapatkan nilai perimeter dapat dilihat pada contoh gambar (2.11). Sedangkan program pada matlab yang digunakan untuk mencari nilai perimeter yaitu program bwperim. Tahap selanjutnya adalah mencari nilai thinnes ratio. Nilai thinnes ratio dicari dari perbandingan antara nilai area dan perimeter. Nilai thinnes ratio ini yang akan digunakan sebagai dasar penentuan bentuk benda. Untuk mendapatkan nilai thinnes ratio pada matlab digunakan rumus pada persamaan 2.5. nilai thinnes ratio disimpan dalam Tr. Nilai yang tersimpan di variabel Tr akan dibandingkan dengan nilai yang tersimpan di x1(benda lingkaran), x2(benda persegi).
Nilai yang terdapat pada x1, x2, merupakan nilai tetap yang mewakili nilai thinnes ratio dari masing-masing benda. Misalkan untuk mendapatkan nilai thinnes ratio benda bundar yang tersimpan pada x1, nantinya akan di lakukan dua belas pengambilan data pada benda bundar, persegi dan segitiga. Dari hasil pengambilan data akan mendapatkan dua belas nilai thinnes ratio dari masing-masing benda, kemudian dari dua belas nilai tersebut akan di ambil nilai rata-ratanya. Setelah mendapatkan nilai rata-rata dari masing-masing benda, Selanjutnya akan di lakukan penjumlahan antara nilai rata-rata benda bundar dan benda persegi kemudian di bagi dua, hasilnya akan menjadi nilai tetap yang akan di simpan pada x1.
Sedangkan untuk mendapatkan nilai yang tersimpan pada x2, akan dilakukan penjumlahan antara nilai rata-rata benda persegi dan nilai rata-rata benda segitiga kemudian di bagi dua, hasilnya akan menjadi nilai tetap yang akan di simpan pada x2. Proses pengenalan bentuk benda pada matlab dapat dilihat pada gambar 3.6.
Hitung Area dan Perimeter
Hitung Thinnes Ratio
Tr > x1? Tr > x2? Bentuk {k} = Segitiga
Bentuk {k} = Persegi Bentuk {k} =
Bundar
Output : Cell Array Bentuk
k = Jumlah Benda?
k= k+1
Selesai Tidak
Tidak
Ya k = 1
Input:
Cell Array Segmen Mulai
Ya
Tidak
Ya Ambil Segmen{k}
Masukan hasilnya pada matriks Luasan
Gambar 3.6. Flowchart pengenalan bentuk pada matlab.
3.2.6. Perhitungan Jumlah Benda Berdasarkan Bentuk Dan Ukuran
Perhitungan jumlah benda berdasarkan bentuk dan ukuran di mulai dengan masukan berupa Cell Array dan matriks luasan. Proses ini dilakukan dengan mencari nilai area masing-masing benda dari citra hasil segmentasi. Nilai area dapat dicari menggunakan persamaan 2.4. untuk mencari area terlebih dahulu Benda pada citra biner direpresentasikan degan warna putih. Nilai pixel citra berwarna putih pada area tersebut bernilai 1. Jumlah pixel (yang bernilai 1) pada suatu benda dalam citra digital adalah nilai areanya.
Jumlah pixel area dari setiap benda berbeda-beda. Nilai tersebut disimpan dalam sebuah variabel bentuk {k} dan akan dibandingkan dengan nilai yang tersimpan pada x1 sampai dengan z2 Untuk menentukan ukuran benda. Nilai yang tersimpan pada x1 sampai z2 merupakan nilai tetap. Untuk mendapatkan nilai batas yang tersimpan pada x1 sampai z2, misalkan akan di cari nilai yang tersimpan pada x1, maka akan dilakukan dua belas
pengambilan data untuk masing-masing benda segitiga besar, segitiga sedang dan segitiga kecil. Dari hasil pengambilan data akan didapatkan dua belas nilai luasan dari masing- masing benda. Dari hasil nilai-nilai tersebut nantinya akan di cari nilai rata-ratanya. Setelah mendapatkan nilai rata-rata dari masing-masing benda, Selanjutnya akan dilakukan penjumlahan antara nilai rata-rata benda segitiga besar dan segitiga sedang kemudian dibagi dua, hasilnya akan menjadi nilai tetap yang akan disimpan pada x1. Sedangkan untuk mendapatkan nilai yang tersimpan pada x2, akan dilakukan penjumlahan antara nilai rata- rata benda segitiga sedang dan nilai rata-rata segitiga kecil kemudian di bagi dua, hasilnya akan menjadi nilai tetap yang akan di simpan pada x2. Untuk mendapatkan nilai yang tersimpan pada y1sampai z2, maka akan dilakukan cara yang sama seperti proses mendapatkan nilai yang tersimpan pada x1 dan x2.
Dari hasil perbandingan maka akan di dapatkan ukuran dari masing-masing benda di antaranya : Segitiga Sb( segitiga besar), Ss(Segitiga sedang), Sk(Segitiga kecil), persegi Pb(Persegi besar), Ps(Persegi sedang), Pk(Persegi kecil), Bundar Bb(Bundar besar), Bs(Bundar sedang), Bk(Bundar kecil). Proses perhitungan jumlah benda berdasarkan bentuk dan ukuran di tunjukan pada gambar 3.7.
Input:
Cell Array Bentuk dan Matriks Luasan
Bentuk {k} : Bundar ?
Luasan(k)> z1 Luasan(k) > z2 Bk = Bk+1
Bb = Bb+1 Bs = Bs+1
a
b c k=1, Sk=0, Ss=0, Sb=0
Pk=0, Ps=0, Pb=0 Lk=0, Ls=0, Lb=0
Mulai
Tidak
Ya
Tidak
Ya Ya
Tidak
Gambar 3.7. Flowchart proses perhitungan jumlah benda berdasarkan bentuk dan ukuran.
Bentuk {k} : Persegi ?
Luasan (k) > y1 Luasan (k) > y2 Pk = Pk+1
Pb = Pb+1 Ps = Ps+1
a
k = Jumlah benda?
b
k = k+1 c
Output:
Jumlah benda berdasarkan bentuk dan ukuran
Selesai
Ya Ya
Ya
Tidak Tidak
Tidak
Tidak
Ya
d
e
Gambar 3.7. (lanjutan) Flowchart proses perhitungan jumlah benda berdasarkan bentuk dan ukuran.
Luasan (k)> x1 Luasan (k)> x2 Sk = Sk+1
Sb = Sb+1 Ss = Ss+1
Bentuk {k} : Segitiga
Ya Ya
Ya
Tidak Tidak
d
e
Gambar 3.7. (lanjutan) Flowchart proses perhitungan jumlah benda berdasarkan bentuk dan ukuran.
3.3 Perancangan GUI Matlab
GUI (Graphical User Interface ) memiliki peran yang sangat penting karena dengan adanya GUI, pengguna dapat melihat apa yang terjadi didalam program seperti proses capture, pemrosesan dan lain-lain. Tujuan dari pembuatan GUI adalah membuat program terlihat lebih praktis sehingga dapat mempermudah pengguna memahami apa yang dibuat.
GUI yang dibuat didesain untuk menampilkan informasi berupa data dari proses identifikasi benda, yaitu citra biner hasil capturing webcam, citra biner serta bentuk dan ukuran benda.
OBJEK
HASIL CAPTURE
CITRA BINER
TOMBOL CAPTURE TOMBOL
CAMERA ON
TOMBOL PROSES TOMBOL
EXIT
Segitiga Jumlah PENCACAH BENDA BERDASARKAN BENTUK DAN
UKURAN
Persegi
Bundar
Jumlah Jumlah
Jumlah Jumlah Jumlah
Jumlah Jumlah Jumlah Besar Sedang Kecil
Bentuk Ukuran
Gambar 3.8. Perancangan GUI pada matlab.
Mulai
Tombol capture ditekan
Ambil gambar dan ditampilkan pada kolom hasil capture
Tombol proses ditekan
Hasil capture diubah ke citra biner untuk dikenali bentuk dan
ukurannya
Hasil keluaran citra biner akan di tampilkan pada kolom citra biner
Hasil pengenalan bentuk dan ukuran akan ditampilkan pada
kolom jumlah Camera on
Tombol exit ditekan
Selesai
Gambar 3.9. Flowchart proses kerja GUI.
Tabel 3.1. Keterangan GUI.
Nama Bagian Keterangan
Tombol “camera on” Berfungsi untuk menghidupkan kamera Tombol “capture” Berfungsi untuk mengambil citra benda Tombol “proses” Untuk memulai proses pengenalan benda
Tombol “exit” Berfungsi untuk mengembalikan ke program awal Benda Berfungsi untuk menampilkan citra secara langsung
dari webcam
Hasil capture Berfungsi untuk menampilkan citra grayscale Citra Biner Berfungsi untuk menghasilkan citra biner
Ukuran Berfungsi untuk menampilkan ukuran benda
3.3.1. Flowchart Tombol Camera ON
Tombol camera on (kamera aktif) berfungsi untuk menghubungkan webcam dengan matlab yang terdapat pada laptop yang akan ditampilkan dalam proses pengenalan benda bentuk dan ukuran. Flowchart tombok kamera aktif dapat dilihat pada gambar 3.10.
Mulai
Tombol camera on ditekan
Tombol =1 ?
Memulai proses menanpilkan video, lebar, panjang, resolusi
Selesai
Tidak
Ya
Gambar 3.10. Flowchart tombol camera on.
3.3.2. Flowchart Tombol Capture
Tombol capture yang terdapat pada tampilan GUI digunakan untuk mengambil gambar yang akan di tampilkan pada hasil capture. Gambar 3.11 memperlihatkan diagram alir pada tombol capture.
Mulai
Tombol Capture ditekan
Tombol =1 ?
Ambil gambar dan di tampilkanpada hasil capture
Selesai
Tidak
Ya
Gambar 3.11. Flowchart tombol capture.
3.3.3. Flowchart Tombol Proses
Tombol proses yang terdapat pada tampilan GUI digunakan memulai proses pengenalan benda. Gambar 3.12 memperlihatkan diagram alir pada tombol proses.
Mulai
Tombol proses ditekan
Tombol =1 ?
Memulai proses mengubah hasil capture ke citra biner serta perhitungan bentuk dan ukuran
Selesai
Tidak
Ya
Gambar 3.12. Flowchart diagram alir tombol proses.
3.3.4. Flowchart Tombol Exit
Program tombol exit berfungsi untuk mengembalikan tampilan awal program apabila terjadi kesalahan atau error pada saat proses pengenalan berlangsung. Gambar 3.12 menunjukkan diagram alir tombol exit.
Mulai
Tombol exit ditekan
Tombol =1 ?
Proses mengembalikan ke tampilan awal program
Selesai
Tidak
Ya
Gambar 3.13. Flowchart diagram alir tombol exit.
30
BAB IV
HASIL DAN PEMBAHASAN
4.1. Pengujian Tanpa Rotasi
Pengujian tanpa rotasi dilakukan untuk mencari nilai area dan Thinness ratio menggunakan variasi translasi, dan skala terhadap tingkat pengenalan benda berdasarkan bentuk dan ukuran dengan metode area, perimeter, dan Thinnes ratio. Dalam pengujian tanpa rotasi menggunakan variasi translasi berkaitan dengan perpindahan peletakan benda dari satu posisi ke posisi yang lain, sedangkan untuk skala berkaitan dengan ukuran benda yang merupakan ukuran besar, sedang, dan kecil. Masukan data di dapatkan dari benda 2D yakni bundar, persegi, dan segitiga yang telah di buat dengan bentuk dan ukuran yang telah di tentukan pada batasan masalah. Untuk pengujian variasi translasi dan skala, benda akan diatur pada posisi awal terlebih dahulu. Mula-mula benda diletakan pada posisi 5(posisi tengah, dengan jarak antar kamera dan benda 15 cm) yang merupakan posisi awal. Dari pengujian ini dapat diperoleh nilai-nilai variasi translasi dan skala dari setiap benda yang berupa nilai area, dan Thinnes ratio.
Pengujian variasi Translasi dan skala dilakukan dengan mengatur resolusi kamera 640x480 piksel dengan jarak 15 cm. Pengujian translasi dan skala ini menggunakan 2 posisi peletakan yakni area peletakan a(untuk benda berukuran sedang dan kecil) dan area peletakan b(untuk benda berukuran besar) yang dapat di lihat pada Gambar 4.1.
(a) (b)
Gambar 4.1. Area peletakan a, sebagai tempat peletakan benda berukuran
sedang dan kecil dan (B). area peletakan b, sebagai tempat peletakan benda berukuran besar.
peletakan a, di mana benda yang berukuran sedang dan kecil akan di letakan pada posisi tengah(5), posisi sudut kiri atas(1), sudut kiri bawah(7), sudut kanan atas(3), dan sudut kanan bawah(3). Sedangkan untuk benda yang berukuran besar terdapat 4 variasi pada peletakan b, di mana benda akan di letakan pada posisi sudut kiri atas(1), sudut kanan atas(2), sudut kiri bawah(3), dan sudut kanan bawah(4). Data yang diperoleh berupa nilai area dan thinness ratio dari masing-masing bentuk dan ukuran benda yang nantinya nilai tersebut akan diolah menjadi nilai pengenalan bentuk dan ukuran dengan mencari nilai rerata dari 5 kali pengambilan data untuk masing-masing bentuk dan ukuran. untuk data hasil pengujian tanpa rotasi menggunakan variasi translasi dan skala dapat di lihat pada Lampiran 1.
Berdasarkan hasil pengujian pada Lampiran 1, pengujian dilakukan dari benda dengan skala ukuran besar sampai skala ukuran kecil, dimana ada 5 kali pengambilan data untuk masing-masing benda besar, sedang, dan kecil dengan 5 translasi atau perpindahan posisi dari posisi satu ke posisi yang lain. Dari setiap perpindahan posisi tersebut memiliki nilai area, dan thinnes ratio, kemudian masing-masing nilai area dan thinness ratio akan jumlah lalu di bagi 5 untuk mendapat nilai reratanya. Setelah mendapat nilai rerata area dan thinness ratio dari masing-masing benda, nilai rerata area di masukan dalam perhitungan untuk mencari nilai X1,X2 dan Y1,Y2 dan Z1,Z2 seperti yang sudah dibahas pada BAB III, sebagai penentuan ukuran benda, sedangkan nilai rerata thinness ratio di masukan dalam perhitungan untuk mencari nilai x1 dan x2 sebagai penentuan bentuk benda. Perhitungan penentuan bentuk dan ukuran dapat dilihat pada lampiran 2.
4.1.1. Pengujian Keberhasilan Pencacah Benda Berdasarkan Bentuk Dan Ukuran
Pengujian keberhasilan pencacah bentuk berdasarkan bentuk dan ukuran di lakukan sebanyak 90 kali percobaan. Percobaan dilakukan dengan kombinasi bentuk, jumlah, dan ukuran dari benda yang akan di letakan pada peletakan a maupun peletakan b. Tahap awal dilakukan percobaan 1 benda, untuk setiap masing-masing bentuk dan ukuran dengan 3 translasi yang berbeda, kemudian di lanjutkan dengan percobaan untuk 2 benda dengan kombinasi 3 translasi untuk bentuk dan ukuran benda yang berbeda, selanjutnya dilakukan percobaan dengan 3 benda dengan kombinasi 3 translasi untuk bentuk dan ukuran benda yang berbeda-beda, dan
terakhir dilakukan percobaan untuk 4 benda dengan kombinasi 3 translasi bentuk dan ukuran yang berbeda. Ketika sistem mengenali bentuk dan ukuran, maka matlab berupa tampilan GUI akan menampilkan jumlah bentuk dan ukuran yang berapa pada area peletakan a maupun peletakan b. Dari pengujian ini diperoleh 90 hasil data di mana program dapat mengenali bentuk dan ukuran dari pengujian yang dilakukan. Untuk pengujian keberhasilan pencacah benda berdasarkan bentuk dan ukuran di lakukan pengujian dengan 1 benda yang dapat dilihat pada tabel 4.1. kemudian 2 benda yang dapat dilihat pada tabel 4.2. kemudian percobaan 3 benda yang dapat dilihat pada tabel 4.3. lalu pengujian terakhir dengan 4 benda yang dapat dilihat pada tabel 4.4.
Tabel 4.1. Pengujian dengan 1 benda.
Pengujian ke-
Area peletakan
Keterangan Hasil
pengujian Posisi Bentuk objek
1 b 1 Bundar besar √
2 b 2 Bundar besar √
3 b 3 Bundar besar √
4 a 1 Bundar sedang √
5 a 7 Bundar sedang √
6 a 9 Bundar sedang √
7 a 3 Bundar kecil √
8 a 7 Bundar kecil √
9 a 1 Bundar kecil √
10 b 1 Persegi besar √
11 b 2 Persegi besar √
12 b 3 Persegi besar √
13 b 7 Persegi sedang √
14 a 3 Persegi sedang √
15 a 9 Persegi sedang √
16 a 2 Persegi kecil √
17 a 8 Persegi kecil √
18 a 6 Persegi kecil √
19 b 1 Segitiga besar √
20 b 5 Segitiga besar √
21 b 7 Segitiga besar √
22 a 1 Segitiga sedang √
23 a 3 Segitiga sedang √
24 a 5 Segitiga sedang √
25 a 5 Segitiga kecil √
26 a 1 Segitiga kecil √
27 a 9 Segitiga kecil √
Gambar 4.2. Pengujian dengan 1 benda.
Tabel 4.2. Pengujian dengan 2 benda.
Pengujian ke-
Area peletakan
Keterangan Hasil
pengujian Posisi Bentuk objek
28 b 2 Bundar besar √
b 3 Persegi besar √
29 b 3 Bundar besar √
b 4 Persegi besar √
30 b 3 Bundar besar, √
b 1 Persegi besar √
31 b 4 Bundar besar √
a 3 Persegi sedang √
32 b 1 Bundar besar √
a 6 Persegi sedang √
33 b 1 Bundar besar √
a 9 Persegi sedang √
34 b 1 Bundar besar √
a 3 Persegi kecil √
35 b 2 Bundar besar √
a 9 Persegi kecil √
36 b 3 Bundar besar √
a 6 Persegi kecil √
37 a 1 Bundar sedang √
a 6 Segitiga besar √
38 a 1 Bundar sedang √
b 4 Segitiga besar √
Tabel 4.2. (Lanjutan) Pengujian dengan 2 benda.
Gambar 4.3. Pengujian dengan 2 benda.
39 a 9 Bundar sedang √
b 1 Segitiga besar √
40 a 8 Bundar sedang √
a 2 Segitiga sedang √
41 a 1 Bundar sedang √
a 7 Segitiga sedang √
42 a 7 Bundar sedang √
a 1 Segitiga sedang √
43 a 1 Bundar sedang √
a 9 Segitiga kecil √
44 a 9 Bundar sedang √
a 1 Segitiga kecil √
45 a 1 Bundar sedang √
a 5 Segitiga kecil √
Pengujian ke-
Area peletakan
Keterangan Hasil
pengujian Posisi Bentuk objek
46 b 1 Bundar besar √
b 4 Persegi besar √
a 3 Persegi kecil √
47 b 4 Bundar besar √
b 1 Persegi besar √
a 3 Persegi kecil √
48 b 1 Bundar besar √
b 4 Persegi besar √
a 7 Persegi kecil √
49 b 4 Bundar besar √
a 1 Persegi sedang √
a 7 Persegi sedang √
50 b 3 Bundar besar √
a 3 Persegi sedang √
a 9 Persegi sedang √
51 b 1 Bundar besar √
a 7 Persegi sedang √
a 3 Persegi sedang √
52 b 4 Bundar besar √
a 1 Persegi kecil √
a 7 Persegi kecil √
53 b 1 Bundar besar √
a 6 Persegi kecil √
a 8 Persegi kecil √
54 b 4 Bundar besar √
a 1 Persegi kecil √
a 3 Persegi kecil √
55 a 3 Bundar sedang √
b 3 Persegi besar √
a 9 Persegi kecil √
56 a 1 Bundar sedang √
a 4 Persegi besar √
a 3 Persegi kecil √
57 a 4 Bundar sedang √
a 1 Persegi besar √
a 1 Persegi kecil √
Tabel 4.3.(Lanjutan) Pengujian dengan 3 benda.
58 a 4 Bundar sedang √
a 3 Persegi sedang √
a 4 Persegi sedang √
59 a 1 Bundar sedang √
a 7 Persegi sedang √
a 1 Persegi sedang √
60 a 4 Bundar sedang √
a 8 Persegi sedang √
a 4 Persegi sedang √
61 a 1 Bundar sedang √
a 7 Persegi kecil √
a 3 Persegi kecil √
62 a 3 Bundar sedang √
a 9 Persegi kecil √
a 1 Persegi kecil √
63 a 4 Bundar sedang √
a 3 Persegi kecil √
a 4 Persegi kecil √
64 a 1 Bundar kecil √
a 7 Segitiga besar √
a 1 Bundar kecil √
65 a 4 Bundar kecil √
a 8 Segitiga besar √
a 4 Bundar kecil √
66 a 1 Bundar kecil √
a 7 Segitiga besar √
a 3 Bundar kecil √
67 a 3 Bundar kecil √
a 9 Segitiga sedang √
a 1 Segitiga sedang √
68 a 4 Bundar kecil √
a 3 Segitiga sedang √
a 4 Segitiga sedang √
69 a 1 Bundar kecil √
a 7 Segitiga sedang √
a 1 Segitiga sedang √
70 a 3 Bundar kecil √
a 1 Segitiga kecil √
a 2 Segitiga kecil √
71 a 5 Bundar kecil √
a 4 Segitiga kecil √
a 6 Segitiga kecil √
72 a 6 Bundar kecil √
a 7 Segitiga kecil √
a 8 Segitiga kecil √
73 b 2 Bundar besar √
a 1 Persegi sedang √
a 7 Segitiga sedang √
74 b 1 Bundar besar √
a 3 Persegi sedang √
a 8 Segitiga sedang √
75 b 2 Bundar besar √
a 9 Persegi sedang √
a 1 Segitiga sedang √
76 b 1 Persegi besar √
a 3 Bundar sedang √
a 9 Segitiga sedang √
77 a 3 Persegi besar √
a 9 Bundar sedang √
a 2 Segitiga kecil √
78 b 4 Persegi besar √
a 1 Bundar sedang √
a 4 Segitiga sedang √
79 b 2 Segitiga besar √
a 1 Bundar sedang √
a 4 Persegi kecil √
80 b 1 Segitiga besar √
a 7 Bundar sedang √
b 4 Persegi besar √
81 b 4 Segitiga besar √
a 2 Bundar sedang √
a 4 Persegi kecil √
Gambar 4.4. Pengujian dengan 3 benda.
Tabel 4.4. Pengujian dengan 4 benda.
Pengujian ke-
Area peletakan
Keterangan Hasil
pengujian Posisi Bentuk objek
82 a 3 Bundar sedang √
a 7 Bundar sedang √
a 1 Persegi sedang √
a 9 Segitiga sedang √
83 a 2 Bundar sedang √
a 8 Bundar sedang √
a 6 Persegi sedang √
a 4 Segitiga sedang √
84 a 1 Bundar sedang √
a 3 Bundar sedang √
a 5 Persegi kecil √
a 2 Bundar kecil √
85 a 3 Persegi sedang √
a 7 Persegi sedang √
a 1 Bundar sedang √
a 9 Segitiga sedang √
86 a 5 Persegi sedang √
a 3 Persegi kecil √
a 2 Bundar kecil √
a 1 Segitiga sedang √
Gambar 4.5. Pengujian dengan 4 benda.
87 a 3 Persegi kecil √
a 7 Persegi kecil √
a 1 Bundar sedang √
a 9 Segitiga sedang √
88 a 2 Segitiga sedang √
a 8 Segitiga sedang √
a 6 Bundar sedang √
a 4 Persegi sedang √
89 a 1 Segitiga sedang √
a 3 Segitiga sedang √
a 5 Bundar kecil √
a 2 Persegi kecil √
90 b 3 Segitiga besar √
b 1 Segitiga besar √
a 1 Bundar kecil √