• Tidak ada hasil yang ditemukan

MENGUKUR PANJANG SEBUAH OBJEK PADA CITRA DENGAN METODE CANNY SEBAGAI PENDETEKSI TEPI.

N/A
N/A
Protected

Academic year: 2017

Membagikan "MENGUKUR PANJANG SEBUAH OBJEK PADA CITRA DENGAN METODE CANNY SEBAGAI PENDETEKSI TEPI."

Copied!
74
0
0

Teks penuh

(1)

SKRIPSI

Disusun oleh :

NASAYOGA FEBTIADY

NPM. 0934010091

J URUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

(2)

SKRIPSI

Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer

Jurusan Teknik Informatika

Disusun oleh :

NASAYOGA FEBTIADY

NPM. 0934010091

J URUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

(3)

Disusun oleh : NASAYOGA FEBTIADY

NPM. 0934010091

Telah dipertahankan dihadapkan dan diter ima oleh Tim Penguji Skr ipsi J ur usan Teknik Infor matika Fakultas Teknologi Industri

Univer sitas Pembangunan Nasional “Veteran” J awa Timur Pada Tanggal 20 Desember 2013

Univer sitas Pembangunan Nasional “Veteran” J awa Timur

(4)

DENGAN METODE CANNY SEBAGAI PENDETEKSI TEPI

Disusun oleh :

NASAYOGA FEBTIADY

NPM. 0934010091

Telah disetujui untuk mengikuti Ujian Negar a Lisan Gelombang IV Tahun Akademik 2013/2014

Menyetujui,

Pembimbing I Pembimbing II

Fetty Tri Anggraeny, S.Kom, M.Kom Yisti Vita Via, S.ST, M.Kom NPT. 3 8202 06 0208 1 NPT. 3 8604 13 0347 1

Mengetahui,

Ketua J urusan Teknik Infor matika Fakultas Teknologi Industri UPN “Veteran” J awa Timur

(5)

KETERANGAN BEBAS REVISI lisan gelombang IV, TA 2012/2013 dengan judul:

“MENGUKUR PANJ ANG SEBUAH OBJ EK PADA CITRA DENGAN METODE CANNY SEBAGAI PENDETEKSI TEPI”

Surabaya, 16 Januari 2014 Dosen Penguji yang memerintahkan revisi :

(6)

Allah SWT atas segala rahmat serta karunia-Nya yang diberikan kepada penulis sehingga penulis dapat menyelesaikan skripsi yang berjudul “MENENTUKAN TINGGI SEBUAH BENDA DENGAN METODE CANNY SEBAGAI PENDETEKSI TEPI”.

Skripsi dengan jumlah 4 SKS ini disusun sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN “Veteran” Jawa Timur.

Penulis menyadari bahwa penulisan skripsi ini masih jauh dari kesempurnaan dikarenakan pengetahuan dan pengalaman yang dimiliki oleh penulis masih sangat terbatas dan masih perlu diperbaiki baik dari segi penyajian maupun isinya. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun dari semua pihak yang membaca skripsi ini. Semoga skripsi ini bermanfaat bagi semua pembaca pada umumnya dan bagi penulis pada khususnya. Amiin.

Surabaya, 20 Desember 2013

(7)

bantuan dari berbagi pihak. Oleh karena itu dalam kesempatan ini perkenankan penulis mengucapkan rasa terima kasih yang sebesar-besarnya kepada :

1) Pertama saya panjatkan puji dan syukur kepada Allah SWT, karena berkat rahmat dan karunia-Nya saya dapat menyusun dan menyelesaikan skripsi ini. 2) Kedua saya berterimakasih kepada keluarga tercinta. Ayah dan ibu, papah

dan mamah yang selalu memberikan doa yang berkah dan kasih sayang, dukungan moral, semangat dan materi yang tiada pernah berenti. Lebih khususnya kepada keluarga di indramayu dan di Surabaya. Dan kepada Rischa Pramanix saya ucapankan terimakasih sudah diberikan semangat dan dukungan untuk mengerjakan skripsi ini.

3) Bapak Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor Universitas Pembangunan Nasional “Veteran” Jawa Timur.

4) Bapak Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN “Veteran” Jawa Timur.

5) Ibu Dr. Ir. Ni Ketut Sari, MT selaku Ketua Jurusan Teknik Informatika UPN “Veteran” Jawa Timur.

(8)

7) Ibu Yisti Vita Via, S.ST, M.Kom selaku dosen pembimbing kedua skripsi ini di UPN “Veteran” Jawa Timur yang telah banyak memberikan waktu, bimbingan dan petunjuk sejak awal hingga terselesainya skripsi ini.

8) Bapak Rully Gita Hartantyo, S.Kom selaku dosen pembimbing spesial edisi warkop c7 yang telah banyak memberikan waktu untuk bimbingan penuh dan wejangan-wejangan motivasi sejak awal hingga terselesainya skripsi ini. Pagi siang dan sore selalu menemani hari-hari saya mengerjakan skripsi ini. Terima kasih banyak ya bang. Tidak tau lagi saya akan membalas budi dengan apa bang. Semoga Allah SWT membalasnya dengan lebih dari apa yang sampeyan beri kepada saya.

9) Sahabat seperjuangan saya semuanya yang berjuang bersama. Tiada kata letih untuk saling mengingatkan dan memotivasi untuk mengerjakan skripsi ini. Saya ucapakan terima kasih banyak juga kepada teman-teman warkop c7 sudah memberikan tempat bagi saya untuk mengerjakan skripsi ini. Semuanya lah pokoknya mah.

(9)

DAFTAR ISI

Halaman LEMBAR PENGESAHAN

ABSTRAK ... i

KATA PENGANTAR ... ii

UCAPAN TERIMA KASIH ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... ix

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 2

1.3. Batasan Masalah ... 2

1.4. Tujuan ... ` 3

1.5. Manfaat ... 3

BAB II TINJ AUAN PUSTAKA ... 4

2.1 Peneliti Pendahulu ... 4

2.2 Pengolahan Citra ... 5

2.2.1Citra Grayscale ... 5

2.2.2 Citra Biner ... 8

(10)

2.3.1Pixel ... 13

2.3.2Citra Berwarna ... 14

2.4. Computer Vision ... 15

2.5 Deteksi Tepi ... 22

2.6 Metode Canny ... 24

2.6.1Penghalusan Citra ... 25

2.7 Visual Basic ... 27

2.8 EmguCV ... 29

BAB III METODOLOGI PENELITIAN ... 33

3.1. Analisis Sistem... 33

3.1.1.Pre-processing ... 35

3.1.2.Subprocess ... 38

3.2. Perhitungan Skala Perbandingan ... 39

3.3. Perancangan Interface ... 40

3.3.1.Interface Tampilan Awal... 41

3.3.2.Interface Proses Smooth ... 41

3.3.3.Interface Proses Grayscale ... 42

3.3.4.Interface Proses Threshold ... 43

3.3.5.Interface Proses Canny ... 43

3.3.6.Interface Proses Ukur Panjang ... 44

(11)

BAB IV HASIL DAN PEMBAHASAN... 47

4.1. Implementasi Data ... 47

4.2. Implementasi Interface ... 47

4.2.1. Desain Tampilan Halaman Utama ... 48

4.3. Implementasi Proses ... 49

4.3.1. Proses Smoothing ... 49

4.3.2. Proses Grayscale ... 50

4.3.3. Proses Threshold ... 50

4.3.4. Proses Canny ... 50

4.3.5. Proses Ukur Panjang ... 51

4.4. Uji Coba Program ... 51

4.4.1.Pelaksanaan Uji Coba ... 52

4.5. Evaluasi Aplikasi ... 54

4.5.1.Analisis Proses ... 55

BAB V KESIMPULAN DAN SARAN ... 60

5.1. Kesimpulan ... 60

5.2. Saran ... 61

(12)

ABSTRAK

Sekarang ini teknologi sedang berkembang pesat yang bertujuan untuk merubah kebiasaan manual menjadi otomatis yang dikerjakan oleh bantuan komputer. Dalam aktivitas sehari-hari masih sering sekali manusia menggunakan kebiasaan manual pada saat mengukur suatu benda, penggaris dan meteran yang sering manusia gunakan. Hal ini menjadi peluang bagi mahasiswa tingkat akhir untuk mengatasi masalah yang ada terutama dalam hal pengukuran suatu benda yang memerlukan tingkat efisiensi yang tinggi dalam pengerjaannya.

Untuk mengatasinya akan dirancang suatu aplikasi mengukur panjang sebuah objek pada citra dengan bantuan pendeteksian tepi dan perhitungan panjang secara otomatis oleh komputer. Tujuannya adalah bisa lebih efisien dalam penggunaan waktu untuk mengukur suatu benda yang dikerjakan dengan bantuan teknologi komputer. Dalam penerapannya, aplikasi mengukur panjang sebuah objek ini terutama adalah pengambilan objek gambar benda menggunakan sebuah kamera, setelah itu upload ke dalam komputer yang tersedia aplikasi ini dan kemudian objek gambar akan diproses untuk diukur panjangnya dengan bantuan pendeteksian tepi.

Pada penelitian ini proses pendeteksian tepi menggunakan metode Canny

sebagai pendeteksi tepi dengan bahasa pemrograman Visual Basic, Microsoft Visual Studio 2010 (.Net) dan library Emgu CV. Metode ini mempunyai komputasi yang sederhana dan cepat. Secara garis besar proses dari aplikasi ini adalah mengunduh objek benda. Pemrosesan metode canny akan melalui tahapan

smoothing, grayscale dan thresholding. Metode canny berfungsi untuk pendeteksian tepi sebuah citra benda. Dan terakhir dilakukan pemrosesan ukur panjang yang berfungsi untuk melakukan perhitungan pixel terpanjang dan terpendek dari sebuah citra benda, kemudian melakukan perkalian dengan skala perbandingan yang sudah ada ketetapannya setelah dilakukan dari beberapa uji coba.

Dari percobaan dan pengujian yang dilakukan, aplikasi dapat mendeteksi tepi sebuah citra benda dan mengukur panjang sebuah objek pada citra dengan tingkat keakuratan 96.41% dan ketidakakuratan 3.59%. Tinggi rendahnya unsur pencahayaan yang berada di sekitar obyek sangat mempengaruhi proses pendeteksian.

(13)

1.1 LATAR BELAKANG

Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain. Masukan pada proses ini adalah citra dan keluarannya juga berupa citra dengan kualitas lebih baik daripada citra masukan sebelumnya. Meskipun sebuah citra kaya informasi, namun seringkali citra yang kita miliki mengalami penurunan mutu, misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras, kurang tajam, kabur, dan sebagainya. Tentu saja citra semacam ini menjadi lebih sulit diinterpretasi karena informasi yang disampaikan oleh citra tersebut menjadi berkurang. Agar citra yang mengalami gangguan mudah diinterpretasi (baik oleh manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik (Balza, 2005).

Di era digital saat ini banyak manusia masih menggunakan cara manual untuk mengukur sebuah benda dalam kesehariannya, seperti penggaris dan meteran. Sehingga pekerjaan tidak berjalan dengan efisien.

(14)

dimana Metode Canny dapat digunakan untuk mendeteksi tepi sebuah benda dengan pencarian (identifikasi) maksimal lokal dari gradien pada citra. Gradien pada metode ini didapatkan dengan turunan dari filter Gaussian. Metode ini menggunakan dua nilai batas untuk mendeteksi tepi yang lemah dan yang kuat. Tepi yang lemah akan dihasilkan pada keluaran, jika terhubung juga dengan yang kuat.

1.2 RUMUSAN MASALAH

Rumusan masalah aplikasi ini adalah :

1. Bagaimana mengukur panjang benda di dalam citra dengan tingkat kesalahan seminimal mungkin menggunakan metode Canny sesuai dengan panjang aslinya.

2. Bagaimana cara merubah satuan nilai piksel menjadi satuan sentimeter. 3. Bagaimana mendapatkan nilai skala perbandingan benda pada citra dengan

benda aslinya.

4. Bagaimana cara menghitung panjang benda pada citra dengan benar sesuai panjang aslinya.

1.3 BATASAN MASALAH

Berdasarkan latar belakang di atas, yang menjadi batasan masalah adalah : 1. Pengambilan objek gambar dengan menggunakan kamera.

(15)

3. Bahasa pemrograman yang dipakai adalah Visual Basic (.net) 2010 dengan

library Emgu CV.

4. Menggunakan Metode Canny sebagai pendeteksi tepi pada gambar. 5. Jarak pengambilan gambar antara kamera dengan objek adalah 50cm. 6. Pada saat pengambilan gambar, hanya ada satu benda.

7. Pengambilan gambar dilakukan pada siang hari. 8. Skala perbandingan ditentukan adalah 1:2. 9. Warna latar belakang hitam.

1.4 TUJ UAN

Tujuan dari tugas akhir ini adalah membuat sebuah aplikasi pengolahan citra yang dapat mengukur panjang benda sebenarnya dari panjang benda pada gambar dengan tingkat kesalahan yang sedemikian kecil dengan menggunakan Metode Canny sebagai pendeteksi tepinya.

1.5 MANFAAT

Manfaat dari aplikasi adalah :

1. Dapat mengukur panjang sebuah benda dengan otomatis, tanpa melakukan pengukuran secara manual.

2. Setiap orang dapat mengetahui tentang teknologi yang dapat mengukur panjang sebuah benda dengan menggunakan komputer.

(16)

2.1. Peneliti Pendahulu

Smart Measure adalah aplikasi mobile untuk Android yang dapat berguna untuk menghitung panjang suatu benda. Aplikasi ini dibuat dengan tujuan untuk menggantikan alat-alat pengukur sehingga dapat menggunakannya tanpa perlu repot bawa-bawa penggaris dan meteran. Aplikasi ini akan bekerja maksimal digunakan saat siang hari, karena saat malem hari objek sulit untuk ditangkap. Aplikasi ini disebut aplikasi pintar versi mobile Smart Tools yang dibuat oleh Smart Tools Co (Billion, 2014).

Aplikasi ini berguna untuk mengukur panjang benda dengan menggunakan kamera pada gadget sebagai media visual, aplikasi ini mengukur panjang sebuah benda menggunakan prinsip trigonometri. Aplikasi Smart Measure dari Smart Tool adalah aplikasi pengukur panjang benda untuk mobile.

(17)

2.2 Pengolahan Citr a

Citra merupakan suatu fungsi kontinu dari intensitas cahaya dalam bidang 2D, dengan (x,y) menyatakan tingkat kecerahan atau derajat keabuan. Citra digital merupakan array 2D dengan nilai f(x,y) nya telah dikonversi ke dalam bentuk diskrit baik pada koordinat citra maupun kecerahannya. Pengolahan citra secara umum dapat didefinisikan sebagai pemrosesan sebuah gambar 2D secara digital. Pengolahan citra merupakan proses pengolahan dan analisis citra yang banyak melibatkan persepsi visual (Anil K. Jain, 1989). Proses ini mempunyai data masukan dan informasi keluaran yang berbentuk citra.

Operasi pengolahan citra digital umumnya dilakukan dengan tujuan memperbaiki kualitas suatu gambar sehingga dapat dengan mudah diinterprentasikan oleh mata manusia dan untuk mengolah informasi yang terdapat pada suatu gambar untuk keperluan pengenalan objek secara otomatis.

2.2.1 Pengolahan Citr a Grayscale

Citra grayscale yaitu citra yang nilai pixel-nya merepresentasikan derajat keabuan atau intensitas warna putih. Nilai intensitas paling rendah merepresentasikan warna hitam dan nilai intensitas paling tinggi merepresentasikan warna putih.

(18)

Gambar 2.1 Citra Grayscale (Biben Nurbani Hasan, 2012)

Pada gambar 2.1 di atas dimana Citra grayscale ini merupakan citra kanal, yang dimana f(x,y) merupakan fungsi dari tingkat keabuan dari hitam keputih, x merupakan variabel baris atau posisi pixel di garis jelajah dan y merupakan variabel kolom atau posisi pixel di garis jelajah. Intensitas f dari gambar hitam putih pada titik (x,y) disebut derajat keabuan (gray level), yang dalam hal ini derajat keabuannya bergerak dari hitam keputih. Derajat keabuan memiliki rentang nilai dari Imin sampai Imax, atau Imin < f < Imax, selang (Imin, Imax) disebut skala keabuan.

Biasanya selang (Imin, Imax) sering digeser untuk alasan-alasan yang praktis menjadi selang [o, L], yang dalam hal ini nilai intensitas 0 yaitu menyatakan hitam, nilai intensitas L yaitu menyatakan putih, sedangkan nilai intensitas antara 0 sampai L bergeser dari hitam keputih. Sebagi contoh citra

(19)

intensitas 255 yaitu menyatakan putih, dan nilai antara 0 sampai dengan 255 menyatakan warna keabuan yang terletak antara hitam dan putih.

Untuk mengubah citra grayscale ke citra biner bisa dilakukan dengan cara

threshold, dan biasanya penulis menentukan nilai citra threshold tertentu terlebih dahulu dan kemudian yang ada di bawah nilai threshold nilainya dijadikan 0 yang ada di atas threshold nilainya 1. Inilah gambaran bagaimana proses konversi

grayscale melalui perhitungan manual ilmu matematila. Dimisalkan ada sebuah citra yang memiliki ukuran matriks 7x7 pixel dengan nilai-nilai sebagai berikut :

Tabel 2.1 Nilai RGB suatu citra

(20)

Untuk konversi warna menjadi grayscale, misalnya koordinat (5,3), perhitungannya adalah :

Gray [7,5] = (2)

Perhitungan tersebut dilakukan untuk semua koordinat, sehingga matriks citra hasil konversi menjadi berikut :

Tabel 2.2 hasil konversi nilai RGB menjadi grayscale

(i,j) 0 1 2 3 4 5 6 7

0 29 40 44 39 111 116 81 108

1 40 42 62 80 90 73 5 58

2 186 184 191 155 175 154 189 229

3 136 132 33 175 154 171 150 148

4 254 253 72 177 996 210 185 157

5 140 133 124 152 136 138 151 149

6 115 117 150 119 131 136 144 117

7 122 128 138 134 133 119 139 128

2.2.2 Pengolahan Citr a biner

(21)

Gambar 2.2 Contoh citra biner (Biben Nurbani Hasan, 2012)

Gambar 2.3 Representasi citra biner dari Gambar 2.2 (Biben Nurbani Hasan,2012) Meskipun saat ini citra berwarna lebih disukai karena memberi kesan uang lebih kaya dari citra biner, namun tidak membuat citra biner mati. Pada beberapa aplikasi citra biner masih tetap dibutuhkan, misalnya citra logo instansi (yang hanya terdiri dari warna hitam dan putih), citra kode barang (bar code) yang tertera pada label barang, citra hasil pemindai dokumen teks, dan sebagainya. Seperti yang sudah disebutkan diatas, citra biner hanya mempunyai dua nilai derajat keabuan yaitu hitam dan putih. Pixel-pixel objek bernilai 1 dan pixel-pixel

(22)

objek berwarna hitam seperti tampak pada gambar 4 di atas. Meskipun komputer saat ini dapat memproses citra hitam-putih (grayscale) maupun citra berwarna, namun citra biner masih tetap dipertahankan keberadaannya.

Alasan penggunaan citra biner adalah karean citra biner memiliki sejumlah keuntungan sebagai berikut :

1. Kebutuhan memori kecil karena nilai derajat keabuan hanya membutuhkan representasi 1 bit.

2. Waktu pemrosesan lebih cepat dibandingkan dengan citra hitam-putih ataupun warna.

Citra biner adalah citra yang terdiri dari warna hitam dan putih. Pada langkah citra biner ini adalah nilai konversi dari grayscale. Sekarang saya mencoba menetukan nilai threshold terlebih dahulu secara manual dari nilai

(23)

Nilai High = 255 dan Nilai low = 0

Nilai threshold kita tentukan yaitu median dari 0-255, yaitu 127. Untuk nilai dibawah 127 kita jadikan warna putih yang nilainya 0, untuk nilai diatas 127 kita jadikan warna hitam yang nilainya 1.

Sehingga nilai citra binernya adalah :

Tabel 2.4 Citra Biner

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1

1 1 0 1 1 1 1 1

1 1 0 1 1 1 1 1

1 1 0 1 1 1 1 1

0 0 1 0 1 1 1 0

0 1 1 1 1 0 1 1

2.3 Gambar atau Citr a

Data masukan yang diproses adalah suatu gambar atau citra. Citra merupakan sebuah representasi khusus dari suatu objek. Dimana representasi tersebut dinyatakan dalam bentuk dua dimensi. Selain itu, citra juga dapat berupa rekaman, seperti gambar video, gambar digital, atau sebuah gambar (Haralick dan Shapiro, 1992). Pada suatu image terdapat pixel(picture elements).

(24)

memantulkan kembali sebagian dari berkas cahaya tersebut dan pantulan cahaya lalu ditangkap oleh alat-alat optik, seperti mata manusia, kamera, scanner, dan sensor satelit, kemudian direkam. Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan (Hestiningsih Idhawati, 2008).

Secara harfiah image (citra) adalah gambar pada bidang dua dimensi. Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dua dimensi. (Hestiningsih Idhawati, 2008).

Citra didefinisikan sebagai fungsi intensitas cahaya dua dimensi f(x,y)

dimana x dan y menunjukkan koordinat spasial, dan nilai f pada suatu titik (x,y) sebanding dengan tingkat kecerahan (gray level) dari citra di titik tersebut. (Purwanto Ari, 2009)

Citra dapat dikelompokkan menjadi dua bagian yaitu citra diam (still images) dan citra bergerak (moving images). Citra diam adalah citra tunggal yang tidak bergerak. Sedang citra bergerak adalah rangkaian citra diam yang ditampilkan secara beruntun (sekuensial), sehingga memberi kesan pada mata sebagai gambar yang bergerak. (Purwanto Ari, 2009).

Citra digital adalah citra dengan f(x,y) yang nilainya didigitalisasikan baik dalam koordinat spasial maupun dalam gray level. Digitalisasi dari koordinat

(25)

sebagai suatu matriks dimana baris dan kolomnya merepresentasikan suatu titik di dalam citra, dan nilai elemen matriks tersebut menunjukkan gray level di titik tersebut. (Purwanto Ari, 2009).

2.3.1 Pixel

Agar citra dapat diolah oleh sebuah komputer digital, maka sebuah citra harus disimpan pada format yang dapat diolah oleh sebuah program komputer. Cara yang paling praktis yang dapat dilakukan adalah membagi citra menjadi sekumpulan sel-sel diskrit, yang disebut pixel.

Pada umumnya sebuah citra menjadi kisi-kisi persegi, sehingga pixel

sendiri adalah kisi-kisi persegi yang kecil. Selanjutnya setiap pixel diberi nilai yang menyatakan warna atau menyatakan tingkat kecerahan pixel yang bersangkutan, yang sering disebut dengan intensitas pixel. (Haralick dan Shapiro, 1992).

(26)

2.3.2 Citr a berwarna

Citra berwarna, yaitu citra yang nilai pixel-nya merepresentasikan warna tertentu. Banyaknya warna yang mungkin digunakan bergantung kepada kedalaman pixel citra yang bersangkutan. Citra berwarna direpresentasikan dalam beberapa kanal (Channel) yang menyatakan komponen-komponen warna penyusunnya. Banyak kanal yang digunakan bergantung pada model warna yang digunakan pada citra tersebut.

Gambar 2.5 Citra berwarna (Biben Nurbani Hasan, 2012)

(27)

Untuk mengubah citra berwarna yang mempunyai nilai matriks masing-masing r, g, dan b menjadi citra grayscale dengan nilai s, maka konversi dapat dilakukan dengan mengambil rata-rata dari nilai r, g, dan b sehingga dapat dituliskan menjadi ( Balza dan Kartika, 2005:9) :

(1) 2.4 Computer Vision

Computer Vision dapat dideskripsikan sebagai ilmu yang mempelajari metode yang dapat digunakan untuk membuat computer mengerti gambar atau data banyak dimensi umumnya (Anonim, 2005).

Tujuan Computer Vision adalah untuk membuat keputusan yang berguna tentang objek dunia nyata dan keadaan berdasarkan image yang diambil. Untuk membuat keputusan akan objek nyata, sangat penting untuk membangun deskripsi atau model objek tersebut dari gambar. Karena itu dapat dikatakan bahwa

Computer Vision adalah untuk membangun deskripsi keadaan image (Shapiro dan Stockman, 2001).

Artificial Intelligence digunakan untuk menganalisis keadaan dengan memproses representasi simbolik dari isi lingkungan setelah image telah diproses untuk diambil fiturnya. Banyak teknik dari Artificial Intelligence berperan penting didalam seluruh aspek Computer Vision. Pada dasarnya Computer Vision

merupakan cabang dari Artificial Intelligence (Jain, Kasturi dan Schunck, 1995).

(28)

ilmu dan teknologi mesin yang melihat, di mana mesin mampu mengekstrak informasi dari gambar yang diperlukan untuk menyelesaikan tugas tertentu. Sebagai suatu disiplin ilmu, visi komputer berkaitan dengan teori di balik sistem buatan bahwa ekstrak informasi dari gambar. Data gambar dapat mengambil banyak bentuk, seperti urutan video, pandangan dari beberapa kamera, atau data multi-dimensi dari scanner medis. Sebagai disiplin teknologi, Computer Vision berusaha untuk menerapkan teori dan model untuk pembangunan sistem(Taufik,2012).

Sebagai teknologi disiplin, visi komputer berusaha untuk menerapkan teori dan model untuk pembangunan sistem visi komputer. Contoh aplikasi visi komputer mencakup sistem untuk :

· Pengendalian Proses ( misalnya sebuah robot industri atau kendaraan otonom).· Mendeteksi peristiwa (misalnya, untuk pengawasan visual atau orang menghitung).

· Mengorganisir informasi (misalnya, untuk pengindeksan database foto dan gambar urutan).

· Modeling benda atau lingkungan (misalnya, industri inspeksi, analisis gambar medis / topografis).

· Interaksi (misalnya, sebagai input ke perangkat untuk interaksi manusia komputer).

(29)

untuk mendapatkan kualitas citra yang lebih baik. Sedangkan Pengenalan Pola (Pattern Recognition), bidang ini berhubungan dengan proses identifikasi obyek pada citra atau interpretasi citra. Proses ini bertujuan untuk mengekstrak informasi atau pesan yang disampaikan oleh gambar atau citra. Penerapan Computer Vision antara lain :

1. Bidang Pengolahan Citra Medis.

Hal ini dicirikan dengan ekstraksi informasi dari data gambar untuk tujuan membuat diagnosis medis pasien.contoh informasi yang dapat diekstraksi dari data gambar tersebut deteksi tumor, arteriosclerosis atau perubahan memfitnah lainnya. Hal ini juga dapat pengukuran dimensi organ, aliran darah, dll area aplikasi ini juga mendukung penelitian medis dengan memberikan informasi baru, misalnya, tentang struktur otak, atau tentang kualitas perawatan medis.

2. Bidang Industri.

(30)

3. Bidang Fisika.

Fisika merupakan bidang lain yang terkait erat dengan Computer vision. Sistem Computer vision bergantung pada sensor gambar yang mendeteksi radiasi elektromagnetik yang biasanya dalam bentuk baik cahaya tampak atau infra-merah. Sensor dirancang dengan menggunakan fisika solid-state. Proses di mana cahaya merambat dan mencerminkan off permukaan dijelaskan menggunakan optik. Sensor gambar canggih bahkan meminta mekanika kuantum untuk memberikan pemahaman lengkap dari proses pembentukan gambar. Selain itu, berbagai masalah pengukuran fisika dapat diatasi dengan menggunakan Computer vision, untuk gerakan misalnya dalam cairan.

4. Bidang Neurobiologi.

Khususnya studi tentang sistem biological vision Selama abad terakhir, telah terjadi studi ekstensif dari mata, neuron, dan struktur otak dikhususkan untuk pengolahan rangsangan visual pada manusia dan berbagai hewan. Hal ini menimbulkan gambaran kasar, namun rumit, tentang bagaimana “sebenarnya” sistem visi beroperasi dalam menyelesaikan tugas-tugas visi tertentu yang terkait.

(31)

5. Bidang Matematika Murni.

Sebagai contoh, banyak metode dalam visi komputer didasarkan pada statistik, optimasi atau geometri. Akhirnya, bagian penting dari lapangan dikhususkan untuk aspek pelaksanaan visi komputer, bagaimana metode yang ada dapat diwujudkan dalam berbagai kombinasi perangkat lunak dan perangkat keras, atau bagaimana metode ini dapat dimodifikasi untuk mendapatkan kecepatan pemrosesan tanpa kehilangan terlalu banyak kinerja .

6. Bidang Pemrosesan Sinyal.

Banyak metode untuk pemrosesan sinyal satu-variabel, biasanya sinyal temporal, dapat diperpanjang dengan cara alami untuk pengolahan sinyal dua variabel atau sinyal multi-variabel dalam visi komputer. Namun, karena sifat spesifik gambar ada banyak metode dikembangkan dalam visi komputer yang tidak memiliki mitra dalam pengolahan sinyal satu-variabel.

Sebuah karakter yang berbeda dari metode ini adalah kenyataan bahwa mereka adalah non-linear yang bersama-sama dengan dimensi-multi sinyal, mendefinisikan subfield dalam pemrosesan sinyal sebagai bagian dari visi komputer.

7. Bidang Prtahanan Dan Keamanan (Militer).

(32)

mencapai daerah berdasarkan data citra diperoleh secara lokal. Konsep modern militer, seperti "kesadaran medan perang", menunjukkan bahwa berbagai sensor, termasuk sensor gambar, menyediakan kaya set informasi tentang adegan tempur yang dapat digunakan untuk mendukung keputusan strategis. Dalam hal ini, pengolahan otomatis data yang digunakan untuk mengurangi kompleksitas dan informasi sekering dari sensor ganda untuk meningkatkan keandalan.

8. Bidang Didalam Kendaraan Otonom.

Meliputi submersibles , berbasis kendaraan darat (robot kecil dengan roda, mobil atau truk), kendaraan udara, dan kendaraan udara tak berawak ( UAV ). Tingkat berkisar otonomi dari sepenuhnya otonom (berawak) kendaraan untuk kendaraan di mana sistem visi berbasis komputer mendukung driver atau pilot dalam berbagai situasi.

Sepenuhnya otonom kendaraan biasanya menggunakan visi komputer untuk navigasi, yakni untuk mengetahui mana itu, atau untuk menghasilkan peta lingkungan ( SLAM ) dan untuk mendeteksi rintangan. Hal ini juga dapat digunakan untuk mendeteksi peristiwa-peristiwa tugas tertentu yang spesifik, misalnya, sebuah UAV mencari kebakaran hutan. Contoh sistem pendukung sistem peringatan hambatan dalam mobil, dan sistem untuk pendaratan pesawat otonom.

(33)

di pasar.. Ada banyak contoh kendaraan otonom militer mulai dari rudal maju, untuk UAV untuk misi pengintaian atau bimbingan rudal.

Ruang eksplorasi sudah dibuat dengan kendaraan otonom menggunakan visi komputer, misalnya, NASA Mars Exploration Rover dan ESA exomars Rover.

9. Bidang Kecerdasan Buatan.

Keterkaitan dengan perencanaan otonom atau musyawarah untuk sistem robotical untuk menavigasi melalui lingkungan. Pemahaman yang rinci tentang lingkungan ini diperlukan untuk menavigasi melalui mereka. Information about the environment could be provided by a computer vision system, acting as a vision sensor and providing high-level information about the environment and the robot.

Informasi tentang lingkungan dapat diberikan oleh sistem visi komputer, bertindak sebagai sensor visi dan memberikan informasi tingkat tinggi tentang lingkungan dan robot. Buatan kecerdasan dan visi lain berbagi topik komputer seperti pengenalan pola dan teknik pembelajaran. Akibatnya, visi komputer kadang-kadang dilihat sebagai bagian dari bidang kecerdasan buatan atau ilmu bidang komputer secara umum.

10. Bidang Industri Perfilman

(34)

komputer. Animasinya juga di kembangkan mempergunakan animasi yang dibuat dengan aplikasi komputer. Sebagai contoh film-film Hollywood berjudul TITANIC itu sebenarnya tambahan animasi untuk menggambarkan kapal raksasa ya.

2.5 Deteksi Tepi

Tepi adalah perubahan nilai intensitas derajat keabuan yang cepat dan tiba-tiba berubah dalam jarak yang singkat. Sedangkan deteksi tepi pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari objek-objek citra, tujuannya adalah :

a. Untuk menandai bagian yang menjadi detail citra.

b. Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error atau adanya efek dari proses akuisisi citra.

Suatu titik (x,y) dikatakan sebagai tepi dari suatu citra bila titik tersebut mempunyai perbedaan yang tinggi dengan tetangganya. Gambar 6 berikut ini menggambarkan bagaimana tepi suatu gambar diperoleh.

(35)

Pada gambar 2.6 terlihat bahwa hasil deteksi tepi berupa tepi-tepi dari suatu gambar. Bila diperlihatkan bahwa tepi suaatu gambar terletak pada titik-titik yang memiliki perbedaan intensitas pixel yang tinggi.

Gambar 2.7 Hasil Deteksi Tepi Pada Suatu Citra Digital (Yunus, 2008) Banyak sekali macam-macam metode untuk mendeteksi suatu tepi, misalnya :

1. Metode Robert

Metode Robert adalah nama lain dari teknik defferensial, yaitu differensial

pada arah horizontal dan vertikal, dengan ditambahkan proses konversi biner

setelah dilakukan differensial. Teknik konversi biner yang disarankan adalah konversi biner dengan meratakan distribusi warna hitam dan putih. Metode

Robert ini juga disamakan dengan teknik DPCM (differensial Pulse Code Modulation).

2. Metode Prewitt

(36)

3. Metode Sobel

Metode Sobel merupakan pengembangan metode Robert dengan menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian dan gaussian yang dikenal sebagai fungsi untuk membangkitkan HPF. Kelebihan dari metode sobel adalah kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi.

2.6 Metode Canny

Tujuan dari deteksi tepi pada umumnya adalah mengurangi jumlah data dalam sebuah citra secara signifikan, sekaligus mempertahankan sifat-sifat struktural citra yang akan digunakan untuk pengenalan citra lebih jauh. Terdapat banyak algoritma untuk mendeteksi tepi, salah satunya adalah algoritma yang dikembangkan olh John F. Canny (JFC) pada tahun 1986. Meskipun sudah cukup lama, algoritma ini telah menjadi salah satu standar metode deteksi tepi yang masih digunakan dalam penelitian. Tujuan dari JFC adalah untuk mengembangkan sebuah algoritma yang paling optimal yang sesuai dengan kriteria berikut ini :

a. Mendeteksi dengan baik (kriteria deteksi)

Kemampuan untuk meletakkan dan menandai semua tepi yang ada sesuai dengan pemilihan parameter-parameter konvolusi yang dilakukan. Sekaligus juga memberikan fleksibilitas yang sangat tinggi dalam hal menentukan tingkat deteksi ketebalan tepi sesuai yang diinginkan.

b. Melokalisasi dengan baik (kriteria lokalisasi)

(37)

c. Respon yang jelas (kriteria respon)

Hanya ada satu respon untuk tiap tepi. Sehingga mudah dideteksi dan tidak menimbulkan kerancuan pada pengolahan citra selanjutnya

Kriteria pertama bermaksud untuk mengurangi respons terhadap noise. Hal ini bias dicapai dengan melakukan smoothing, dan Canny adalah orang pertama yang menunjukkan bahwa Gaussian fitering dapat memberikan hasil yang optimal untuk tujuan ini

2.6.1 Penghalusan citra

Biasanya teknik yang digunakan pada tahap ini adalah Filtering Gaussian. Proses Filtering Gaussian dapat dilakukan terhadap citra secara keseluruhan (hasil akhir berupa 1 citra baru. Tidak dapat dipungkiri bahwa citra yang diambil dari sebuah kamera akan mengandung noise. Untuk mencegah kesalahan deteksi tepi karena noise, maka noise tersebut harus dikurangi. Hal ini dapat dilakukan dengan proses filtering.

Untuk menghitung dan menentukan nilai-nilai setiap elemen dalam filter

penghalus Gaussian yang akan dibentuk berlaku persamaan berikut :

G(i,j) = c. (3)

C dan σ = konstanta

G(i,j) = elemen matrikskernel gauss pada posisi (i,j) (u,v) = indeks tengah dari matriks kernel gauss

(38)

1 2 1

2 3 2

1 2 1

Perkalian antara bobot matriks citra asal dengan bobot matriks kernel gauss dapat dirumuskan seperti ini :

(4)

Keterangan :

Pixel A = gambar A (citra asal)

Pixel B (i,j) = bobot hasil perkalian pada posisi (i,j)

N = jumlah baris matrikskernel

M = jumlah baris matrikskernel

K = penjumlahan semua bobot di G G (p,q) = elemen matriks kernel gauss

(39)

Keterangan :

A = Matriks citra asal G = Matriks kernel gaussian

B = Matriks hasil perkalian C = Matriks gambar hasil

Contoh hasil filtering menggunakan Gaussian ditunjukan pada gambar.

Gambar 2.8 Hasil FilteringGaussian terhadap citra original (Rinaldi, 2004)

2.7. Visual Basic

Bahasa Visual Basic adalah salah satu diantara sekian banyak bahasa pemrograman yang cukup banyak digunakan oleh para programmer. Visual Basic adalah bahasa pemrograman visual dengan dasar pemrograman bahasa BASIC. Bahasa BASIC (Beginner's All-purpose Sybolic Instruction Code) dikembangkan pertama kali pada awal 1950-an. Sementara bahasa Visual Basic, yang merupakan pengembangan bahasa BASIC dikembangkan pertama kali oleh Microsoft pada tahun 1991.

(40)

Basic dimulai dengan memperkirakan kebutuhan, kemudian merancang tampilan program yang diikuti dengan pembuatan kode program tersebut.

Tampilan dari Visual Basic 2010 seperti pada Gambar 2.9. berikut ini.

Gambar 2.9. Tampilan Lingkungan Visual Basic 2010

Agar bisa menguasai bahasa pemrograman Visual Basic, diharuskan mempelajari dasar-dasarnya dengan lebih baik dan kuat. Beberapa komponen utama dalam bahasa Visual Basic yang harus diketahui diantaranya :

Project

Project adalah sekumpulan modul. Jadi project (proyek) adalah program aplikasi itu sendiri. Didalamnya terdapat form beserta code nya. Project ini disimpan dalam file berakhiran .vbproj.

Form

(41)

Toolbox

Toolbox adalah kotak alat yang berisi icon-icon untuk memasukkan objek tertentu ke dalam jendela form.

Properties

Properties digunakan untuk menentukan setting suatu objek. Suatu objek biasanya mempunyai beberapa properties yang dapat diatur langsung dari jendela properties atau lewat kode program.

• Kode Program

Kode program adalah serangkaian tulisan perintah yang akan dilaksanakan jika suatu objek dijalankan. Kode program ini akan mengontrol dan menentukan jalannya suatu objek.

Event

Event adalah peristiwa atau kejadian yang diterima oleh suatu objek, misalnya klik, seret, tunjuk, dan lain-lain. Event yang diterima objek akan memicu MS VB menjalankan kode program yang ada di dalamnya.

2.8. EmguCV

OpenCV (Open Source Computer Vision) adalah sebuah library fungsi pemrograman real time untuk computer vision. Emgu CV adalah wrapper .Net

(42)

Mono dan dijalankan di atas sistem operasi Linux atau Mac OS

(http://www.emgu.com/forum/index.php).

Dari pengertian di atas telah diberikan deskripsi dari kedua open source

tersebut. OpenCV merupakan library yang cukup terkenal di dunia computer vision. Computer Vision adalah salah satu bidang diteknologi informasi yang fokus pada pemrosesan images atau gambar yang diperoleh dari dunia nyata untuk diekstrak dan diinterpretaasikan informasinya. Untuk mempermudah developer dalam mengembangkan aplikasi yang menggunakan teknologi computer vision, digunakan library seperti VXL, Camellia, OpenCV, dan lainnya.

Maka dari itu EmguCV berperan untuk menjebatani C# dan OpenCV.

EmguCV adalah wrapper . Net untuk OpenCV. Keuntungan menggunakan Emgu

yang paling utama adalah library ini sepenuhnya ditulis dengan bahasa pemrograman C# yang mana lebih aman karena pembuatan objek atau pun referensi di-manage oleh garbage collector.

Ada dua konsep penting yang perlu diketahui terlebih dahulu sebelum menggunakan EmguCV. Pertama mengenai layer pada EmguCV. EmguCV terdiri dari 2 layer, basic layer dan second layer. Basic layer mengandung fungsi, struktur, dan enumerasi yang secara langsung mereflesikan apa yang ada di

OpenCV. Dengan adanya layer inilah kita bisa memanggil fungsi-fungsi pada

(43)

OpenCV dipetakan ke dalam EmguCV. Ada 3 tipe mapping code, yaitu function mapping, structure mapping, dan enumeration mapping.

Di dalam Emgu CV terdapat beberapa folder yang berisi class – class yang mempunyai fungsi – fungsi yang ditampilkan pada Tabel 2.5. berikut ini.

Tabel 2.5. Fungsi Class – Class Pada Emgu CV (http://www.emgu.com/wiki/files/2.4.2/document/Index.html)

Class Description

AdaptiveSkinDetector Adaptive Skin Detector

CameraCalibration Camera calibration functions

Capture Capture images from either camera

or video file

CascadeClassifier The Cascade Classifier

ColorInfoAttribute Attribute used to specify color

information

Contour(T) Wrapped class for Contour

CvArray(TDepth) Wrapped CvArr

CvInvoke Library to invoke OpenCV functions

DenseHistogram A Dense Histogram

EigenObjectRecognizer An object recognizer using PCA

(Principle Components Analysis)

EigenObjectRecognizer.RecognitionResult

The result returned the Recognized function is called. Contains the label, index and the eigen distance

ExtrinsicCameraParameters Extrinsic camera parameters

FaceRecognizer Face Recognizer

FeatureTree A wrapper for CvFeatureTree

FisherFaceRecognizer Fisher face recognizer

(44)

Class Description

A Map is similar to an Image, except that the location of the pixels is defined by its area and resolution

Matrix(TDepth) A Matrix is a wrapper to cvMat of

OpticalFlow Contains a collection of optical flow

methods

PointCollection A collection of points

RotationMatrix2D(T) A (2x3) 2D rotation matrix. This

Matrix defines an Affine Transform

Seq(T) Wrapper to cvSeq of OpenCV

SparseMatrix(TDepth) Create a sparse matrix

StereoBM Use Block Matching algorithm to

find stereo correspondence

StereoGC Use Graph Cut algorithm to find

(45)

Pada bab ini akan dijelaskan mengenai proses pembuatan aplikasi mengukur panjang sebuah objek pada citra dengan metode canny sebagai pendeteksi tepimenggunakan library Emgu CV.

3.1 Analisis Sistem

Secara garis besar proses perancangan aplikasi akan melalui tahapan seperti pada Gambar 3.1. di bawah ini.

(46)

Gambar 3.1. di atas merupakan desain tahapan dari pengembangan sistem mengukur panjang sebuah benda menggunakan metode canny untuk mendeteksi tepi. Pada aplikasi ini terlebih dahulu melakukan penyiapan objek yang akan diproses pada komputer yang tersedia aplikasinya. Pengambilan ojeknya menggunakan kameradan mengirimnya ke dalam komputer.

Cara kerja aplikasi ini dengan load image. Setelah load, maka akan diproses melalui tahapan yaitu preprocessing untuk mendeteksi tepi sebuah benda dan subprocess untuk perhitungan ukur panjang sebuah benda. Yang mana proses

preprocessing ada beberapa tahapan yaitu smoothing, convert citra tersebut kedalam grayscale, threshold dan canny. Dengan proses tersebut otomatis sebuah tepi dari benda akan terlihat.

Pada proses smoothing sebuah citra akan dihaluskan dengan cara blurring. Dengan tujuan untuk mengurangi adanya noise. Pada metode ini, blurring yang dilakukan dengan cara filtering Gaussian dengan kanal yang ditentukan. Proses selanjutnya adalah grayscale, pada proses grayscale citra berwarna akan dirubah menjadi warna abu-abu untuk memudahkan ke proses selanjutnya. Proses selanjutnya adalah threshold, dimana proses ini mengambil dari proses grayscale

dan merubahnya menjadi warna hitam dan putih atau disebut juga dengan citra biner. Dan terakhir proses canny, dimana proses ini adalah penyempurnaan dari proses citra biner.

(47)

pikselnya. Setelah nilai piksel ditemukan, nilai piksel akan dirubah menjadi nilai

cm(sentimeter) yang sudah ada nilai ketentuannya, yaitu 1 piksel = 0,00847 cm. Setelah didapatkan nilai dengan satuan sentimeter, maka akan menghitungannya dengan nilai perbandingan yang sudah teruji untuk mendapatkan nilai ketetapan yaitu 1:2. Nilai 1 sentimeter digambar, sama artinya dengan nilai 2 sentimeter pada benda aslinya sesuai hasil uji yang sudah dilakukan. Semua tahapan ini akan menemukan panjang benda yang terproses.

Keterangan detail dari proses tahapan mengukur panjang sebuah benda menggunakan metode canny untuk pendeteksi tepi adalah sebagai berikut.

3.1.1 Preprocessing Pendeteksian Tepi

Gambar 3.2. Praproses

(48)

selanjutnya sebagai penemu pixel tinggi sebuah objeknya yang terpisah dengan pixel latarbelakang objeknya. Proses ini dilakukan pendeteksian tepi benda dari hasil load image, kemudian memprosesnya dalam 4 tahapan, antara lain :

1. Proses Smoothing

Pada tahap ini sebuah citra benda akan dihaluskan dengan cara blurring. Tujuannya dari tahapan ini adalah untuk mengurangi noise yang ada pada suatu citra. Pada Emgu CV untuk blurring menggunakan Gaussian dengan menggunakan perintah :

Dim GambarSmooth as image (of bgr, byte) =

GambarAwal.Gaussian(9)

2. Proses Grayscale

Pada tahap ini sebuah citra benda yang sebelumnya berformat RGB akan dikonversi menjadi grayscale. Tujuannya dari tahapan ini adalah untuk memudahkan ke proses selanjutnya. Pada Emgu CV untuk mengkonversi image RGB ke grayscale dengan menggunakan perintah :

image_result = image_scr.Convert(Of Gray,

Byte).PyrDown.PyrUp()

dimana :

image_scr asimage awal berformat RGB

(49)

3. Proses Threshold

Pada tahapan ini sebuah citra yang sebelumnya sudah dikonversi menjadi

grayscale akan dikonversi menjadi citra biner yang mana warnanya akan menjadi hitam dan putih. Tujuannya adalah untuk memudahkan menemukan tepian sebuah citra bendanya. Pada Emgu CV untuk mengkonversi imagegrayscale ke threshold

dengan menggunakan perintah :

Dim Threshold As New Gray(180)

Dim GambarThresholding As Image(Of Gray, Byte) =

CopyGambarGray.ThresholdToZero(Threshold)

4. Proses Canny

Pada tahapan canny ini adalah proses yang menyempurnakan dari proses citra biner untuk menemukan garis yang sempurna dalam wujud satu proses pada

canny itu sendiri. Citra benda akan ditemukan oleh proses canny ini. Sehingga tepian terlihat lebih mulus dan halus. Pada Emgu CV untuk memproses canny

dalam menemukan tepian dengan menggunakan perintah : Dim canny As New Gray(160)

Dim cannyedges As New Gray(120)

Dim GambarCanny As Image(Of Gray, Byte) =

(50)

3.1.2 Subpr ocess Per hitungan Ukur Panjang Benda

Gambar 3.3. Proses Perhitungan

Pada tahapan proses perhitungan seperti gambar 3.3 di atas yaitu sebagaiman yang sudah dijelaskan. Proses ini melakukannya terutama dengan cara mengukur tepi yang terbawah dan tertinggi untuk mendapatkan nilai pikselnya. Setelah nilai piksel ditemukan, nilai piksel akan dirubah menjadi nilai

(51)

maka proses ini akan mendapatkan panjang sebuah benda dengan satuan akhir cm. Ulang kata Semua tahapan ini akan menemukan panjang benda yang terproses.

3.2 Perhitungan Skala

Perhitungan skala ini adalah untuk mengukur panjang sebuah benda pada citra dengan membandingkan panjang sebuah benda aslinya. Skala perbandingan telah dilakukan uji coba secara berkali-kali untuk mendapatkan nilai perbandingan yang tepat. Hasil perskalaan ini akan dikalikan dengan panjang benda pada citra, yang nantinya akan menemukan panjang benda sebenarnya. Benda yang kita ambil dengan ketentuan jarak yaitu 50 cm untuk pengambilan semua benda menggunakan kamera. Dengan bantuan Adobe Photoshop CS3 kita bisa menemukan skala perbandingan antara panjang benda pada citra dan panjang benda aslinya. Sebelumnya kita harus tau ukuran 1 piksel berapa cm. di bawah ini perhitungan 1 piksel berapa cm.

Diketahui : ukuran dpi = 300 dpi Ukuran 1 inchi = 2,54 cm Jadi :

1/300*2,54 = 0,00847

Diatas adalah ukuran 1 pixel adalah 0,00847 cm.

(52)

Gambar 3.4. Sebuah citra dengan ukurannya

Gambar 3.4 diatas didapat dengan melakukan cropping pada gambar. Dan melihat ukuran gambar untuk mengetahui panjang bendanya. Ukuran benda pada Gambar 3.4 di atas adalah 4,83cm dari hasil 571 dikalikan dengan 0,00847. Sedangkan panjang asli bendanya adalah 10cm. Sehingga bisa disimpulkan menjadi :

4,83 : 10 = 1 : 2

Jadi panjang 1cm pada citra sama dengan panjang 2cm pada benda aslinya.

3.3 Perancangan Interface

(53)

interface berikut ini agar pengguna dapat memahami jalan kerja program dengan mudah.

3.3.1 Interface Tampilan Awal

Pada form ini pengguna dapat melihat tampilan awal aplikasi seperti pada Gambar 3.5. di bawah. Tampilan awal aplikasi dapat dilihat ketika pertama kali aplikasi dijalankan. Pengguna diharapkan mengklik tombol load image untuk mengambil gambar yang akan diproses.

Gambar 3.5. Tampilan Awal

3.3.2. Interface Pr oses Smooth

(54)

Gambar 3.6. Tampilan Proses Smooth

3.3.3. Interface Pr oses Grayscale

Tahapan yang kedua adalah grayscale. Pada form seperti pada Gambar 3.7. di bawah, pengguna diharapkan mengklik tombol grayscale. Maka gambar akan terproses tahap grayscale.

(55)

3.3.4. Interface Pr oses Threshold

Tahapan yang ketiga adalah threshold. Pada form seperti pada Gambar 3.8. di bawah, pengguna diharapkan mengklik tombol threshold. Maka gambar akan terproses tahap threshold.

Gambar 3.8. Tampilan Proses Threshold

3.3.5. Interface Pr oses Canny

(56)

Gambar 3.9. Tampilan Proses Canny

3.3.6. Interface Pr oses Ukur Panjang

(57)

Gambar 3.10. Tampilan Proses Ukur Panjang

Dari semua proses diatas maka nilai panjang dengan satuan piksel dan sentimeter(cm) akan tampil secara otomatis.

3.4. Lingkungan Implementasi

Untuk dapat melalukan implementasi sistem secara optimum, maka dibutuhkan spesifikasi sistem perangkat lunak (software) ataupun perangkat keras (hardware)yang memadai.

(58)

Perangkat Keras

Perangkat keras yang digunakan untuk implementasi aplikasi mengukur panjang benda ini adalah :

- Komputer dengan processor Intel(R) Celeron(R) M CPU 440 @1.86GHz, ~1.9GHz

- 1024MB RAM

- VGA VIA Chrome HC IGP WDDM 1.1 233MB - Monitor 14”

- Hard Disk 75 GigaByte Perangkat Lunak

Perangkat lunak yang digunakan untuk implementasi aplikasi mengukur panjang sebuah citra benda ini adalah :

- Sistem Operasi Microsoft Windows 7 Professional 32-bit (6.1, Build 7601) Service Pack 1

(59)

Pada bab IV ini akan dijelaskan mengenai implementasi dari rancangan program yang telah dibuat pada bab III. Bagian implementasi aplikasi mengukur panjang sebuah benda ini meliputi : Implementasi data, Implementasi interface, Implementasi proses, uji coba program dan evaluasi aplikasi.

4.1. Implementasi Data

Data yang akan diimplemetasikan pada proses aplikasi mengukur panjang sebuah benda pada citra dengan metode canny sebagai pendeteksi tepi menggunakan library Emgu CV ini berupa citra yang telah diambil dengan sebuah kamera dan mengunggahnya ke dalam aplikasi yang akan diproses melalui beberapa tahapan dengan metode canny untuk mendapatkan tepian sebuah benda. Setelah tepian sudah ditemukan, maka akan dilakukan perhitungan untuk mendapatkan hasil sebuah panjang benda tersebut dengan satuan sentimeter(cm).

4.2. Implementasi Interface

(60)

sedemikian mudah dengan tujuan untuk memudahkan pengguna mengoperasikan aplikasi ini. Adapun gambaran dari interface aplikasi sebagai berikut.

4.2.1. Desain Tampilan Halaman Utama

Gambar 4.1 Tampilan Awal Aplikasi

Desain halaman utama pada gambar 4.1 di atas merupakan tampilan pertama ketika awal aplikasi dijalankan. Pada aplikasi ini terdapat menu load image, menu proses dan menu exit. Pada menu proses akan ada 4 tahapan, yaitu

(61)

menentukan untuk menemukan sebuah panjang benda. Panjang benda akan diperlihatkan pada label yang paling bawah dengan satuan sentimeter (cm).

4.3. Implementasi Pr oses

Bagian implementasi proses ini menjelaskan mengenai implementasi proses-proses sesuai dengan konsep yang telah dibuat pada bab III seperti yang telah digambarkan dalam flowchart.

Aplikasi mengukur panjang sebuah benda pada citra dengan metode canny sebagai pendeteksi tepi ini merupakan aplikasi yang menggunakan library Emgu CV. Berikut ini adalah langkah-langkahnya proses coding dari aplikasi ini :

4.3.1 Pr oses Smoothing

Proses smoothing adalah proses untuk mengurangi noise di dalam citra. Tidak dapat dipungkiri bahwa pada citra pasti terdapat noise. Oleh karena itu, proses smoothing sangat dibutuhkan pada aplikasi ini. Proses ini juga menghaluskan citra dengan sebutan blurring. Maka citra yang sudah diproses

smoothing akan tampak lebih blur dari citra aslinya. Proses smoothing ini menggunakan Gaussian Filtering dengan kanal 9. Berikut ini potongan source code untuk proses smoothing :

(62)

4.3.2. Pr oses Grayscale

Proses grayscale ini merupakan proses mengkonversi citra berwarna RGB menjadi citra abu - abu. Berikut adalah potongan source code untuk proses tersebut :

Dim GambarGray As Image(Of Gray, Byte) =

CopyGambarSmooth.Convert(Of Gray, Byte).PyrDown.PyrUp()

4.3.3. Pr oses Threshold

Proses thresholding merupakan proses mengkonversi citra grayscale atau abu - abu menjadi citra biner atau hitam putih. Dimana warna objek terpisah dari latar belakangnya. Berikut adalah potongan source code untuk proses tersebut : Dim Threshold As New Gray(180)

Dim GambarThresholding As Image(Of Gray, Byte) = CopyGambarGray.ThresholdToZero(Threshold)

4.3.4. Pr oses Canny

Proses canny ini merupakan proses penyempurnaan tepi dari proses

thresholding, dimana yang termasuk benar-benar tepi akan terdeteksi oleh canny. Berikut adalah potongan source code untuk proses tersebut :

Dim canny As New Gray(160)

Dim cannyedges As New Gray(120)

(63)

4.3.5. Pr oses Ukur Panjang

(64)

4.4.1. Pelaksanaan Uji Coba

Setelah melakukan perancangan interface aplikasi dan pengcodingan program kemudian adalah menguji aplikasi tersebut. Dari project yang telah dibuat tekan F5 untuk memulai menjalankan aplikasi mengukur panjang sebuah benda pada citra tersebut. Pertama-tama akan ditampilkan tampilan utama dari aplikasi mengukur panjang sebuah benda tersebut. Pada Gambar 4.16. di bawah ini adalah tampilan utama aplikasi mengukur panjang sebuah benda pada citra.

A B

(65)

E F

G

Gambar 4.2. A,B,C,D,E,F dan G Uji Aplikasi

Gambar 4.16. A adalah melakukan load image. Klik tombol load image

(66)

siap untuk diproses dengan beberapa tahapan. Pertama tahapan smoothing Gambar 4.16. C. Dengan cara klik tombol smooth, citra akan di proses.

Setelah proses smoothing berhasil ditampilkan Gambar 4.16. D tahap selanjutnya adalah tahapan grayscale. Dengan cara klik tombol grayscale, citra

smoothing akan diproses menjadi citra grayscale.

Setelah proses grayscale berhasil ditampilkan Gambar 4.16. E tahap selanjutnya adalah tahapan thresholding. Dengan cara klik tombol threshold, citra akan diproses menjadi citra threshold. Setelah proses threshold berhasil ditampilkan Gambar 4.16. F tahap selanjutnya adalah tahapan canny.

Dengan cara klik tombol canny, citra akan diproses menjadi citra canny. Setelah proses canny berhasil ditampilkan 4.16. G tahap selanjutnya adalah tahapan yang terakhir perhitungan panjang cita yaitu proses ukur panjang. Dengan cara klik tombol ukur panjang, citra akan diproses perhitungan.

Uji coba tampilan ukur panjang pada Gambar 4.16. F diatas menghasilkan panjang sebuah benda sebenarnya pada citra dengan satuan sentimeter (cm). Hasil dari proses tersebut dapat dilihat seperti gambar di atas. Dan hasil tersebut menjadikan keluaran pada aplikasi ini.

Klik tombol exit jika ingin menutup aplikasi tersebut.

4.5. Evaluasi Aplikasi

(67)

4.5.1. Analisis Pr oses Pendeteksian

Pada tahap pengujian pendeteksian tepi ini akan diuji berdasarkan tingkat ketepatan mengukur panjang sebuah benda yang terdeteksi tepiannya dan panjang citra benda dari citra benda yang terunduh, memproses dengan tahapan

smoothing, grayscale, thresholding, canny dan rectangle. Pengujian pendeteksian tepi ini dilakukan dengan perbandingan jumlah pixel citra benda yang dilihat pada aplikasi photoshop CS3, panjang benda yang sebenarnya, dan panjang citra benda pada aplikasi ini. Jarak pengambilan citra benda dengan kamera adalah konstan 50 cm. Hasil proses tersebut dapat dilihat seperti pada Tabel 4.1. di bawah ini.

(68)
(69)
(70)
(71)

Uji

(72)

Tidak sedikitpun penulis berdaya tanpa kehendak Allah SWT dan tidak ada gunanya pula penulis menyusun laporan ini kalau tidak berguna bagi orang lain. Setelah melalui berbagai percobaan, dan perbaikan kesalahan, pada akhirnya Aplikasi Mengukur Panjang Sebuah Objek Pada Citra Dengan Metode Canny Sebagai Pendeteksi Tepi ini dapat berjalan dengan cukup baik.

5.1 Kesimpulan

Dari berbagai hal yang telah diuraikan dalam laporan Tugas Akhir ini, maka dapat disimpulkan mengenai beberapa hal dalam penulisan laporan Tugas Akhir sebagai berikut :

a. Dengan adanya aplikasi mengukur panjang sebuah benda dengan bantuan metode canny sebagai pendeteksi tepi ini, lebih efisien dalam mengukur sebuah objek benda dengan bantuan teknologi komputer.

b. Skala perbandingan benda pada citra dengan benda aslinya adalah 1 : 2 setelah dilakukan dari beberapa uji coba.

c. Pengguna bisa mendapatkan hasil panjang sebuah benda menggunakan aplikasi yang sudah terkomputerisasi dalam pemrosesan tingginya dengan kesalahan sebesar 3.59%.

(73)

menghitungnya untuk mendapatkan hasil dengan satuan sentimeter dengan skala perbandingan yang sudah ditentukan sebagaimana mestinya.

f. 1 piksel adalah 0,00847 cm.

g. Dari seluruh uji coba yang dilakukan, kesalahan aplikasi sebesar 3.5%.

5.2 Sar an

Ada beberapa saran yang dapat penulis berikan setelah penulis menyelesaikan Aplikasi ini. Saran – saran tersebut adalah sebagai berikut :

a. Aplikasi ini dapat dimasukan pada sebuah handpone atau gadget. Dengan kamera yang tersedia pada saat pengambilan gambar sebuah atau banyak benda yang ada, aplikasi ini berjalan langsung untuk menangkap panjang bendanya.

b. Aplikasi ini dapat menghasilkan ketidak akuratan lebih sedikit dari 3.5%, jika jarak kamera dengan permukaan benda = 50cm.

(74)

Balza dan Kartika Firdausy, (2005), Teknik Pengolahan Citra, Ardi Publishing, Yogyakarta.

Billion, (2014), Aplikanologi.

Emgu CV http://www.emgu.com/wiki/index.php/Main_Page, diakses tanggal 7 Juli 2013.

Hestiningsih Idhawati, http://toba.mytoba.com/dl/pengolahan%20Citra.pdf, Diakses 7 Juli 2013.

Nurhidayat Taufik, (2012), Komputer Vision, Penerbit Andi, Yogyakarta.

Purwanto Ari, http://aripurwanto.blog.upi.edu/files/2009/06/tro_0608627.pdf, diakses tanggal 1 Maret 2013.

R. Kasturi, B. G. Schunck, (1995), Artificial Intelligence, McGraw-Hill.

R.M Haralick and L. Shapiro, (1992), Image Processing and Computer Vision, Voume I, Addison-Wesley..

Gambar

Gambar 2.1 Citra Grayscale (Biben Nurbani Hasan, 2012)
Tabel 2.1 Nilai RGB suatu citra
Tabel 2.2 hasil konversi nilai RGB menjadi grayscale
Gambar 2.2 Contoh citra biner (Biben Nurbani Hasan, 2012)
+7

Referensi

Dokumen terkait

ditunjukkan dan tidak dihadapan orang lain (penonton) sama halnya dengan lesbian sebagai subjek, menyadari dirinya adalah pelaku lesbian maka mereka bertindak

Hasil: Prosedur restrain yang diakukan di UPIP sebagian besar kurang sesuai dengan SOP yang telah ditetapkan oleh rumah sakit, diikat dalam waktu lebih dari 4 jam, Pelaksanaan

Pada periode Klasik, istilah sonata cenderung mengacu kepada komposisi untuk satu atau dua instrumen saja, contohnya Piano Sonata, yang merupakan komposisi untuk piano

Ruang lingkup penelitian ini adalah pembuatan prototype sistem informasi yang dapat digunakan untuk melakukan pengelolaan data prestasi atau kualifikasi mahasiswa

Tabel 1 Deskriptif menjelaskan variabel dependen Y (Islamic Corporate). Pengujian hipotesis menggunakan model regresi logistik. Regresi logistik digunakan untuk

Air (H2O) terutama air yang bisa diminum perlu menjadikan perhatian, air merupakan sumber kehidupan yang dibutuhkan seluruh makluk di. Air yang bisa diminum air

162 miliar, maka diperlukan sebuah pengelolaan yang lebih modern, cepat dan akurat agar PAD yang berasal dari Pajak Bumi dan Bangunan ini makin meningkat dan mampu

[r]