Implementasi Metode Normalized Cross Correlation Pada Template Matching Untuk Aplikasi Pendeteksi Objek Pada Citra Digital

(1)

IMPLEMENTASI METODE NORMALIZED

CROSS CORRELATION PADA TEMPLATE MATCHING

UNTUK APLIKASI PENDETEKSI OBJEK

PADA CITRA DIGITAL

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

HERI SETIAWAN

10109380

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2014


(2)

(3)

(4)

SURAT KETERANGAN


(5)

(6)

v

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xii

DAFTAR SIMBOL ... xiv

DAFTAR LAMPIRAN ... xvi

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 3

1.3 Maksud dan Tujuan... 3

1.4 Batasan Masalah ... 4

1.5 Metode Penelitian ... 4

1.5.1 Tahap Pengumpulan Data ... 4

1.5.2 Tahap Pembangunan Program Aplikasi ... 4

1.6 Sistematika penulisan... 6

BAB 2 LANDASAN TEORI ... 8

2.1 Citra... 8

2.2 Citra Digital ... 9

2.2.1 Elemen – elemen Citra Digital ... 11

2.2.2 Jenis Citra Digital ... 12

2.2.3 Karakteristik Citra Digital... 17

2.2.4 Format Citra Digital ... 19

2.3 Computer Vision ... 22

2.3.1 Komputer Grafik ... 23

2.4 Image Processing ... 23


(7)

vi

2.5 Grayscaling ... 24

2.6 Normalisasi ... 26

2.7 Convolution... 27

2.8 Deteksi Objek... 28

2.8.1 Input Data Image... 30

2.8.2 Preprocessing ... 30

2.8.3 Convolution... 30

2.8.4 Object Detection ... 30

2.8.5 Output Data Image ... 31

2.9 Threshold ... 31

2.10 Template Matching ... 32

2.11 Metode Normalized Cross Corelation ... 34

2.12 Unified Modeling Language (UML) ... 36

2.12.1 Use CaseDiagram ... 36

2.12.2 SequenceDiagram ... 37

2.12.3 Collaboration Diagram... 38

2.12.4 Class Diagram ... 39

2.12.5 ActivityDiagram ... 39

2.13 JAVA ... 40

2.13.1 JVM dan Byte Code ... 41

2.13.2 J2SE (Standar Edition) ... 42

2.14 Netbeans ... 44

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 47

3.1 Analisis Masalah ... 47

3.2 Analisis Sistem... 48

3.2.1 Analisis Sistem yang Akan dibangun ... 48

3.3 Analisis Metode ... 50

3.3.1 Analisa RGB Matrix ... 51

3.3.2 Analisis Tahap Grayscaling ... 54

3.3.3 Analisis Tahap Normalisasi ... 57


(8)

vii

3.3.5 Matched object ... 70

3.4 Analisis Kebutuhan non-Fungsional ... 73

3.4.1 Analisis Pengguna ... 73

3.4.2 Analisis Kebutuhan Perangkat Keras ... 74

3.4.3 Analisis Perangkat Lunak ... 75

3.5 Analisis Kebutuhan Fungsional ... 75

3.5.1 Use Case Diagram ... 75

3.5.2 Skenario Use Case ... 77

3.5.3 Activity Diagram ... 80

3.5.4 Sequence Diagram ... 84

3.5.5 Class Diagram ... 87

3.6 Perancangan Sistem ... 89

3.6.1 Perancangan Arsitektur ... 89

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 98

4.1 Implementasi Perangkat Keras ... 98

4.2 Implementasi Perangkat Lunak ... 98

4.3 Implementasi Antarmuka ... 99

4.3.1 Tampilan About ... 99

4.3.2 Tampilan Menu Input Citra ... 100

4.3.3 Tampilan Pesan Belum Memilih Citra Template ... 101

4.3.4 Tampilan Pesan Jika Belum Memilih Citra Target... 102

4.3.5 Tampilan Pesan Jika Objek yang dicari Tidak Terdeteksi... 102

4.3.6 Tampilan Output Citra ... 103

4.4 Pengujian Program ... 104

4.4.1 Proses Pengujian Program ... 107

4.4.2 Skenario Pengujian ... 107

4.4.3 Hasil Pengujian ... 108

4.4.4 Hasil Pengujian Aplikasi... 109

4.4.5 Kesimpulan Pengujian ... 119

BAB 5 KESIMPULAN DAN SARAN ... 124


(9)

viii

5.2 Saran ... 124 DAFTAR PUSTAKA ... 126


(10)

127

[1] Darma, P. (2009). Pengolahan Citra Digital. Yogyakarta: Andi.

[2] Hermawati, F. A. (2013). pengolahan Citra Digital Konsep & Teori. Yogyakarta: Andi.

[3] Gonzalez, R.C., & Woods,R.E.(2001). Digital Image Processing, Second Edition. United State Of American: Prentice Hall.

[4] Presman, Ph.D, dan Roger S. 2002. Rekayasa Perangkat Lunak Pendekatan Praktis Buku 1, Andi, Yogyakarta

[5] Hermawan, B.(2004). Menguasai Java 2 dan Objek Oriented Pemograman. Yogyakarta: Andi.

[6] Widodo, P. P. (2011). Menggunakan UML. Bandung: Informatika.

[7] Nugroho, A. (2009). Rekayasa Perangkat Lunak Menggunakan UML dan JAVA. Yogyakarta: Andi.

[8] Ze, Yuan.,& Li, Chung. Fast Normalized Cross Corelation For Detect Detection. Taiwan University and Department of Industrial Engineering and Management.

[9] Saravana, C., & Surender, M. (2013). Algorithm for face Matching Using Normalized Cross-Corelation.

[10] Putra, Erwin Dwika. Algoritma Template Matching Pada OCR (Optical Character Recognition). Jurusan Teknik Informatika, Universitas Muhammadiyah Bengkulu.

[11] Martin, R.C. (2002) UML for Java Programmers. United States of American: Alan Apt.


(11)

[12] Cheriet M., Kharna N., Liu C., Suen C.Y., (2006), “Charecter

Recognitions System A Guide for Student and Practioners”, John Willey & Sons. Inc.

[13] Wily J., Sons. (2013) Object Detection and Recognition in Digital Images. Willy, United Kingdom.

[14] A.J.H.Hii, C.E.Hann.,&J.G., Chase. Fast Normalized Cross Corelation For Motion Tracking using Basis Function. University Canterbury New Zaeland.


(12)

iii

KATA PENGANTAR

Assalamualaikum Wr.Wb

Puji dan syukur penulis panjatkan kehadirat Allah SWT, karena dengan karunia dan hidayah-Nya, penulis dapat menyelesaikan tugas akhir ini yang berjudul “Implementasi Metode Normalized Cross Correlation Pada Template MatchingUntuk Aplikasi Pendeteksi Objek Pada Citra Digital”.

Penulis Menyadari bahwa banyak kesulitan-kesulitan yang dihadapi pada saat menyelesaikan tugas akhir ini, namun berkat bantuan, bimbingan, dan dukungan dari banyak pihak, tugas ini dapat diselesaikan. Untuk itu penulis ingin mengucapkan terimakasih yang sebesar-besarnya kepada :

1. Orang tua penulis yang selalu memberikan dukungan baik berupa doa dan materil.

2. Bapak Irfan Maliki, S.T., M.T. sebagai pembimbing dan penguji 2 yang telah mengorbankan waktu dan tenaganya untuk memberikan masukan untuk tugas akhir ini.

3. Ibu Nelly Indriani W, S.Si, M.T. sebagai penguji 1 yang telah memberikan kritik dan sarannya kepada penulis untuk menyelesaikan tugas akhir ini. 4. Irawan Afrianto, S.T., M.T. sebagai penguji 3 yang telah memberikan

kritik dan saranya kepada penulis untuk menyelesaikan tugas akhir ini.

5. Ibu Sufa’atin, S.T.,M.Kom. sebagai wali dosen penulis yang telah

memberikan ilmunya selama didalam maupun diluar perkuliahan.

6. Prof. Dr. H. Denny Kurniadie, Ir., M.Sc. selaku Dekan Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

7. Dr. Ir.Eddy Suryanto Soegoto, M.Sc, selaku Rektor Universitas Komputer Indonesia.

8. Buat Abdul Bilal Rojak, Iwan Gunawan, Lukman Hakim, Pradana Aditiya Laksana dan Dwi Singgih Apriyanto yang telah berjuang bersama-sama dalam menyelesaikan tugas akhir ini.


(13)

iv

9. Kekasih tersayang Franita Ameliana, yang telah memberikan motivasi semangat dalam hidup dan selalu mengingatkan untuk menjaga kesehatanku.

10.Serta kepada Rahmat Mulyana, Ramadhoni Saputra, Raju Riyandra dan Riyan Regeal Lion yang telah membantu, menghibur, mengingatkan dan selalu memberikan semangat dalam menyelesaikan tugas akhir ini.

11.Seluruh keluarga besar IF-9 angkatan 2009 yang telah memberikan kritik, dukungan, nasihat, motivasi, doa, pengalaman dan masukan sehingga penulis dapat menyelesaikan tugas akhir ini.

12.Seluruh mahasiswa bimbingan Bapak Irfan Maliki, S.T., M.T yang telah memberikan moral dan spiritual.

13.Semua Pihak yang telah membantu penulis sehingga penulis dapat menyelesaikan tugas akhir ini, terimakasih dan penghargaan yang setinggi-tingginya.

Demikian tugas akhir ini dibuat, penulis mohon maaf jika masih terdapat kekurangan pada penulisan tugas akhir ini. Semoga tugas akhir ini dapat bermanfaat bagi penulis khususnya dan bagi pembaca pada umumnya.

Wassalamualaikum Wr.Wb

Bandung, 19 Agustus 2014


(14)

1 1.1 Latar Belakang

Komputer digunakan sebagai alat bantu untuk pengolahan data teks, suara, citra dan video. Salah satu aspek dalam hal pengelolahan data adalah pengelolahan data citra.Citra atau image merupakan istilah lain dari gambar berbentuk visual. Suatu citra mengandung fungsi intensitas 2 dimensi f(x,y), dimana x dan y merupakan koordinat spasial dan f pada titik (x,y) merupakan tingkat bringhtness (kecerahan) suatu citra pada suatu titik.

Citra digital itu sendiri adalah representasi dari sebuah citra dua dimensi sebagai sebuah kumpulan nilai digital yang disebut elemen gambar atau pixel. Di dalam suatu pengolahan citra digital ada yang namanya pengenalan pola (recognition) yang berhubungan dengan proses identifikasi objek pada citra, yang bertujuan untuk mendeskripsikan informasi yang disampaikan citra tersebut. Salah satu manfaat pengolahan citra dapat digunakan untuk mendeteksi suatu objek di dalam citra.

Deteksi objek dalam citra digital image processing adalah suatu proses yang digunakan untuk menentukan keberadaan objek tertentu di dalam suatu citra digital. Proses deteksi tersebut dapat dilakukan dengan berbagai macam metode yang umumya melakukan penbacaan fitur-fitur dari seluruh objek pada citra input. Fitur dari objek pada citra input tersebut akan dibandingkan dengan fitur dari objek referensi atau template. Hasil perbandingan tersebut dapat digunakan untuk menentukan apakah suatu objek terdeteksi sebagai template yang dimaksud atau tidak.

Proses pembacaan dan pendeteksian objek umumnya mengalami kesulitan pada saat model yang akan dijadikan template tidak sesuai atau berbeda dengan kondisi citra target sebagai citra uji. Salah satu perbedaan antara kedua


(15)

citra tersebut adalah pada model template maupun pada citra yang sebagai target dalam tingkat kecerahan yang berbeda, sehingga mengakibatkan objek yang dicari tidak dapat terdeteksi.

Template Matching adalah salah satu teknik dalam deteksi objek pada citra digital yang berfungsi untuk mencocokan tiap-tiap bagian dari suatu citra. Algoritma ini berkerja dengan cara mengevaluasi pola citra yang akan dibandingkan dengan pola citra template pada basis data. Pendekatan dalam pendeteksian objek ini menggunakan pendekatan berbasis template. Kelemahan dari template matching adalah terbatasnya model yang akan dijadikan template sebagai pembanding pada basis data seperti bentuk, ukuran, orientasi dan peubahan intensitas cahaya[10].

Normalized Cross Corelation adalah salah satu solusi yang dapat digunakan pada template matching, proses yang digunakan untuk menemukan pola atau objek dalam gambar. Metode ini biasa digunakan dalam pembuatan aplikasi image processing seperti motion tracking (pendeteksi gerakan)[14], Charecter Recognitions System[12], klasifikasi sidik jadi dan masih banyak lainnya. Dalam penelitian ini NCC digunakan untuk pendeteksian objek pada citra digital metode ini sangat efisien dalam pengimplementasian mengubah domain frekuensi. Salah satu kelebihan dari metode ini ialah tidak terpengaruh dalam perubahan tingkat kecerahan[8], karena dalam aplikasi image-processing dimana kecerahan gambar dan template dapat bervariasi karena pencahayaan dan eksposur kondisi

Tugas akhir ini, akan memberikan gambaran mengenai penerapan metode dalam mendeteksi objek pada suatu citra, serta mengevaluasi kinerja dari algoritma yang digunakan. Berdasarkan uraian di atas, penelitian skripsi ini berjudul “Implementasi Metode Normalized Cross Correlation Pada Template Matching Untuk Aplikasi Pendeteksi Objek Pada Citra Digital”.


(16)

1.2 Rumusan Masalah

Rumusan masalah berdasarkan latar belakang yang telah diuraikan adalah bagaimana mengimplementasikan metode Normalized Cross Corelation pada Template Matching kedalam suatu aplikasi untuk mendeteksi objek pada suatu citra digital.

1.3 Maksud dan Tujuan

Maksud dari penulisan skripsi ini adalah menganalisis dan mengimplementasikan metode Normalized Cross Corelation pada Template Matching kedalam suatu aplikasi yang dibangun.

Tujuan yang ingin dicapai dari pembangunan aplikasi pendeteksi objek pada citra digital berbasis template matching ini adalah sebagai berikut :

1. Mempermudah pengguna dalam mendeteksi objek pada suatu citra digital.

2. Aplikasi dapat mendeteksi objek yang dicari sesuai dengan template, terhadap citra uji yang digunakan.

3. Mengukur metode yang digunakan dari tingkat akurasi dengan cara melihat hasil pendeteksian apakah objek yang dicari ditemukan atau tidak, sesuai dengan posisi objek pada citra target.


(17)

1.4 Batasan Masalah

Pembatasan masalah diperlukan agar tidak menjadi terlalu luas dan menyimpang dari tujuan semula. Beberapa pembatasan yang digunakan yaitu:

1. File citra digital yag digunakan mempunyai model warna RGB. 2. Gambar yang diolah berupa gambar 2D berformat .jpg, dan .png 3. Resolusi untuk citra target adalah 800 x 600 pixel.

4. Resolusi untuk template adalah 95 x 95 pixel.

5. Semakin besar ukuran model yang dijadikan template maka semakin lama waktu yang dibutuhkan lama dalam mendeteksi.

6. Keluaran dari aplikasi yang dibangun adalah citra hasil pendeteksian. 7. Perhitungan prosentase pengujian sempel untuk masing-masing template

dilakukan diluar program.

8. Pendekatan analisis dilakukan dengan menggunakan model object oriented.

9. Aplikasi dibangun dengan menggunakan bahasa pemograman Java.

1.5 Metode Penelitian

Metode penelitian dalam penyusunan tugas akhir ini dibagi menjadi dua tahap yaitu, tahap pengumpulan data dan tahap pembangunan perangkat lunak.

1.5.1 Tahap Pengumpulan Data

Tahap pengumpulan data yang dilakukan adalah studi pustaka atau studi literatur. Pengumpulan data dilakukan melalui literatur, paper, bacaan-bacaan yang ada kaitanya dengan judul penelitian dan melalui situs-situs web maupun dari sumber lainya yang berhubungan dengan penelitian tugas akhir ini.

1.5.2 Tahap Pembangunan Program Aplikasi

Dalam pengembangan aplikasi ini digunakan metode waterfall. Metode waterfall adalah metode yang digunakan dalam pendekatan sistem dan squensial melalui tahapan-tahapan yang ada untuk membangun sebuah aplikasi. Metode


(18)

waterfall menekankan pada sebuah keterurutan dalam proses pengembangan sebuah aplikasi. Dalam metode waterfall, satu fase harus selesai terlebih dahulu sebelum fase berikutnya dimulai. Suatu fase dapat dinyatakan selesai apabila output dari fase tersebut sesuai dengan kebutuhan yang didefinisikan pada fase sebelumnya. Metode ini merupakan metode yang tepat dalam membangun sebuah aplikasi yang tidak terlalu besar sumber daya manusia yang terlibat dalam jumlah yang terbatas[4]. Tahapan-tahapan pembangunan perangkat lunak waterfall dapat dilihat pada gambar 1.1, dengan penjelasan sebagai berikut :

Gambar 1.1 Diagram Metode Waterfall

Berikut penjelasan dari fase-fase yang terdapat dalam metode waterfall : a. System Engineering

Merumuskan aplikasi yang akan dibuat. Hal ini bertujuan agar memahami aplikasi yang akan dibuat dan langkah-langkah yang berkaitan dengan pembuatan aplikasi tersebut.

b. Requirement Analysis

Melakukan analisis terhadap permasalahan yang dihadapi dan menetapkan kebutuhan aplikasi (berdasarkan permasalahan atau kebutuhan pengguna).


(19)

c. Design

Membuat rancangan aplikasi yang memenuhi kebutuhan user.

d. Coding

Pengkodean yang mengimplementasikan hasil ke dalam kode atau bahasa yang dapat dimengerti oleh mesin komputer dengan menggunakan bahasa pemograman tertentu (pembuat aplikasi menggunakan JAVA).

e. Testing

Melakukan pengujian yang menghasilkan kebenaran aplikasi. Proses pengujian berfokus pada logika internal program aplikasi yang memastikan bahwa semua pernyataan sudah diuji dan memastikan apakah hasil yang diinginkan tercapai atau belum.

f. Maintenance

Aplikasi yang sudah dibuat dapat dilakukan perubahan. Perubahan atau penambahan apabila dibutuhkan oleh pegguna (apabila dibutuhkan).

1.6 Sistematika penulisan

Sistematika penulisan laporan yang di susun untuk memberikan gambaran umum tentang penelitian dalam Tugas Akhir yang dijalankan. Sistematika penulisan Tugas Akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Bab pertama, menguraikan tentang semua hal yang yang menjadi latar belakang masalah, identifikasi masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan dalam pembuatan laporan.


(20)

BAB II TINJAUAN PUSTAKA

Bab kedua, menjelaskan tentang semua teori-teori yang akan digunakan untuk melandasi pembangunan sistem yang akan di buat.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ketiga, menguraikan tentang semua analisis dan perancangan yang akan digunakan dalam pembangunan sistem dari metode Normalized Cross Corelation (NCC) pada Template Matching.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab keempat, berisi tentang imlementasi hasil dari analisis dan perancangan sistem kedalam bentuk bahasa pemograman, serta kebutuhan perangkat keras dan perangkat lunak yang diperlukan dalam membangun sistem. Bab ini juga berisikan tentang pengujian pada sistem yang telah lengkap dan telah memenuhi semua persyaratan dari kebutuhan sistem.

BAB V KESIMPULAN DAN SARAN

Bab kelima atau bab terakhir, berisikan tentang kesimpulan dari setiap tahapan yang dilalui dari setiap penelitian dan menunjukan saran untuk pengembangan sistem yang nantinya bisa lagi dikembangkan ke tahap yang lebih baik.


(21)

(22)

9 2.1 Citra

Pengertian citra atau image merupakan istilah lain dari gambar, yang merupakan informasi berbentuk visual. Suatu citra adalah fungsi intensitas 2 dimensi f(x,y), dimana x dan y adalah koordinat spasial dan f pada titik (x,y) merupakan tingkat kecerahan (brightness) suatu citra pada suatu titik[3].

Gambar 2. 1 Representasi Citra

Citra ada 2 macam :

1. Citra Kontinu yaitu, citra yang dihasilkan dari sistem optik yang menerima sinyal analog, misalnya, mata manusia dan kamera analog. 2. Citra Diskrit yaitu, citra yang dihasilkan melalui proses digitalisasi

terhadap citra kontinu.

Beberapa sistem optik dilengkapi dengan fungsi digitalisasi sehingga mampu menghasilkan citra diskrit, misalnya kamera digital dan scanner.


(23)

2.2 Citra Digital

Citra digital adalah citra f(x,y) yang telah dilakukan digitalisasi baik koordinat area maupun brightness level. Nilai f di koordinat (x,y) merupakan brightness atau grayness level dari citra pada titik tersebut[1]. Citra yang dihasilkan direkam datanya bersifat kontinu harus diubah dahulu menjadi citra digital dengan konversi sehingga dikenali komputer. Karena komputer hanya dapat mengolah data digital dan citra harus mempunyai format tertentu. Proses tersebut disebut digitasi, yaitu membuat kisi-kisi arah horizontal dan vertical sehingga terbentuk array 2 dimensi.

Gambar 2. 2 Representasi Citra Dua Dimensi

Representasi dari sebuah citra dua dimensi sebagai sebuah kumpulan nilai digital yang disebut elemen gambar atau piksel.Pixel adalah satuan terkecil dari citra yang mengandung nilai terkuantisasi yang mewakili brightness dari sebuah warna pada sebuah titik tertentu.Citra digital merupakan suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya (yang disebut sebagai elemen gambar atau piksel) menyatakan tingkat keabuan pada titik tersebut.


(24)

Citra digital berukuran N x M (tinggi = N, lebar = M) dinyatakan dengan matriks N x M.

N = jumlah baris 0 ≤ y ≤ N- 1 M = jumlah baris 0 ≤ x ≤ M – 1

Citra digital dipresentasikan sebagai matriks berukuran N x M dimana N = baris dan M = kolom sebagai berikut :


(25)

Masing-masing elemen pada citra digital (berarti elemen matriks) disebut image element atau piksel. Jadi, citra yang berukuran N x M mempunyai NM buah piksel.

Proses digitalisasi koordinat (x,y) dikenal sebagai pencuplikan citra (image sampling), sedangkan proses digitalisasi derajat keabuan f(x,y) disebut kuantisasi derajat keabuan (gray-level quantication).

2.2.1 Elemen – elemen Citra Digital

Citra digital mengandung sejumlah elemen-elemen dasar. Elemen-elemen dasar inilah yang dimanipulasi dalam pengolahan citra. Elemen-Elemen-elemen yang penting diantaranya adalah sebagai berikut :

2.2.1.1 Kecerahan (brightness)

Kecerahan disebut juga sebagai intensitas cahaya yang dipancarkan pixel dari citra yang dapat ditangkap pleh sistem penglihatan. Kecerahan pada suatu titik (piksel) di dalam suatu citra sebenarnya adalah intensitas rata-rata dari suatu area yang melingkupinya.

2.2.1.2 Kontras (contrast)

Kontras menyatakan seberapa terang (lightness) dan gelap (darkness) dalam suatu citra. Citra dengan kontras rendah dicirikan oleh sebagian besar komposisi citranya adalah terang atau sebagian besar gelap. Citra dengan kontras yang baik, komposisi gelap dan tersebar secara merata.

2.2.1.3 Kontur (contour)

Kobtur adalah keadaan yang ditimbulkan oleh perubahan intensitas pada pixel-pixel yang bertetangga. Karena adanya perubahan intensitas inilah, maka tepi-tepi (edge) objek pada citra dapat dideteksi.


(26)

2.2.1.4 Warna (color)

Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap panjang gelombang cahaya yang dipantulkan oleh objek. Setiap warna mempunyai panjang gelombang ( ) yang berbeda-beda. Warna yang diterima oleh sistem visual (mata) merupakan hasil kombinasi cahaya dengan panjang gelombang yang berbeda-beda. Kombinasi warna yang memberikan rentang warna yang paling lebar adalah red (R), green (g), blue (B).

2.2.1.5 Bentuk (shape)

Bentuk adalah properti intrinstik dari objek tiga dimensi. Bentuk merupakan properti intrinsik utama untuk sistem visual manusia karena lebih sering menginterpretasikan suatu objek berdasarkan bentuknya daripada elemen lainya.

2.2.1.6 Tekstur (texture)

Tekstur dicirikan sebagai distribusi spasial dari derajat keabuan di dalam sekumpulan pixel-pixel, Tekstur merupakan karakteristik untuk menganalisis permukaan berbagai jernis citra objek.

2.2.2 Jenis Citra Digital

Berdasarkan format penyimpanan nilai warnanya Citra Digital terbagi menjadi tiga macam[2] yaitu :

2.2.2.1 Citra Biner (Monokrom)

Citra yang hanya memiliki dua nilai yaitu 1 dan 0. Citra biner juga disebut sebagai citra B&W (black and white) atau citra monokrom, setiap pixel pada citra biner cukup direpresentasikan dengan 1 bit.


(27)

Gambar 2. 4 Citra Biner dan Array Citra Biner

2.2.2.2 Citra Greyscale (skala keabuan)

Pada citra dengan tipe grayscale, setiap piksel mewakili derajat keabuan dengan nilai antara 0 (hitam) samapai 255 (putih). Nilai intensitas paling rendah merepresentasikan warna hitam dan nilai intensitas paling tinggi merepresentasikan warna putih. Pada jangkauan nilai 0 sampai 255, ini berarti bahwa piksel memiliki ukuran 8 bit atau 1 byte.

Gambar 2. 5 Deret warna grayscale


(28)

Citra grayscale merupakan citra satu kanal, dimana citra f(x,y) merupakan fungsi tingkat keabuan dari hitam keputih, x menyatakan variabel kolom atau posisi piksel di garis jelajah dan y menyatakan variabel kolom posisi piksel 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.

2.2.2.3 Citra Warna (8 bit)

Setiap pixel dari citra warna (8 bit) hanya di wakili oleh 8 bit jumlah warna maksimum yang dapat digunakan adalah 256 warna. Ada dua jenis citra warna 8 bit. Pertama, citra warna 8 bit dengan menggunakan palet warna 256 dengan setiap paletnya memiliki pemetaan nilai (colormap) RGB tertentu. Model ini lebih sering digunakan. Kedua, setiap piksel memiliki format 8 bit sebagai berikut,

Bentuk kedua ini dinamakan 8 bit truecolor. Berikut ini adalah warna-warnanya


(29)

Gambar 2. 8 Citra 8-bit dengan palet dan citra 8-bit color

Secara umum, warna yang ada 8bit color image didapatkan dari paletteyang terdiri dari 256 (8 x 8 x 4) warna, dimana tiap entri pada palet diberikan RGB tersendiri yang unik.

2.2.2.4 Citra (16 bit)

Citra warna 16 bit (biasanya disebut sebagai citra high color) dengan setiap pikselnya diwakili dengan 2 byte memory (16 bit). Warna 16 bit memiliki 65.635 warna. Dalam formasi bitnya, nilai merah dan biru mengambil tempat di 5 bit di kanan dan kiri. Komponen hijau memiliki 5 bit ditambah 1 bit eksra. Pemilihan komponen hijau dengan deret 6 bit dikarenakan penglihatan manusia lebih sensitif terhadap warna hijau.


(30)

Gambar 2. 9 Deret warna 16-bit

Gambar 2. 10 Citra warna 16-bit

2.2.2.5 Citra (24 bit)

Setiap pixel dari citra warna 24 bit diwakili sehingga total 16.777.216 variasi warna. Variasi ini sudah lebih dari cukup untuk memvisualisasikan seluruh warna yang dapat dilihat penglihatan manusia. Penglihatan manusia dipercaya hanya dapat membedakan hingga 10 juta warna saja. Setiap poin informasi pixel (RGB) disimpan ke dalam 1 byte data. 8 bit pertama menyimpan nilai baru, kemudian diikuti dengan hijau pada 8 bit kedua dan pada 8 bit terakhir merupakan warna merah.


(31)

Gambar 2. 11 Citra warna 24-bit

Dua puluh empat bit data tiap piksel untuk warna menyebabkan warna yang tercipta akan sangat detail dan dapat mencakup seluruh warna yang

di-‘terjemahkan’ oleh mata manusia normal, sehingga image jenis inicocok

dimanfaatkan untuk keperluan yang memerlukan advance graphics sebagai gambarnya. Dalam sistem macintosh, 24-bit color berarti “sejuta warna”.

2.2.3 Karakteristik Citra Digital

Setiap citra digital memiliki beberapa karakteristik, antara lain yaitu :

2.2.3.1 Ukuran Citra Digital

Ukuran citra (image size) menyatakan ukuran banyaknya pixelpenyusun citra raster yang dinyatakan dalam matrik 2 dimensi, yaitu (X x Y) piksel, dimana X menyatakan ukuran banyaknya piksel perbaris pada arah horizontal sedangkan Y menyatakan ukuran banyaknya pixel perkolom pada arah vertikal. Setiap contoh, citra digital berukuran 800 x 600 pixel, terdiri dari 800 x 600 piksel = 480.000 piksel, dengan susunan 800 piksel setiap baris pada arah horizontal dan 600 piksel setiap kolom pada arah vertikal.


(32)

2.2.3.2 Resolusi

Resolusi citra merupakan tingkat detail suau citra. Semakain tinggi resolusi citra maka akan semakin tinggi pula tingkat detail dari citra tersebut. Resolusi spasial menghasilkan jumlah pixel per-satuan panjang. Resolusi spasial dari sebuah monitor komputer adalah hingga 72 hingga 100 garis per-inchi atau dalam resolusi 72 hingga 100 ppi. Di dalam penginderaan jauh ada 4 istilah resolusi yaitu :

a. Resolusi Spasial

Ialah ukuran terkecil objek yang dapat direkam oleh sebuah sistem sensor. Dengan kata lain maka resolusi spasial mencerminkan kerincian informasi informasi yang dapaet disajikan oleh suatu sistem sensor.

b. Resolusi Spektrum

Membedakan intensitas ke dalam beberapa spektrum. Citra multi spektrum akan memberikan spektrum atau panjang gelombang yang lebih baik yang akan digunakan untuk menampilkan warna.

c. Resolusi Temporal

Ialah frekuensi perekaman ulang daerah yang sama. Resolusi temporal berkaitan dengan video, suatu video merupakan kumpulan frame statis yang mberupa citra berurutan dan tampilan secara cepat. Resolusi temporal memberikan jumlah frame yang dapat ditampilkan disetiap detik dengan satuan frame per second (fps).

d. Resolusi Radiomatik

Ialah kepekaan sensor terhadap perbedaan terkecil kekuatan sinyal. Dengan sensor terminal misalnya, kalau sensor 1 mampu merekam beda suhu terkecil0,2 C dan sensor 2 mampu merekam beda suhu terkecil 0,5 C; berarti resolusi radiomatik sensor 1 lebih baik dari pada sensor 2.


(33)

2.2.4 Format Citra Digital

Citra digital dapat disimpan dalam berbagai macam format, format file menentukan bagaimana informasi data dipresentasikan dalam suatu file. Tiap format file memiliki kelebihan dan kelemahan pada masing-masing format tersebut dalam sistem operasi Windows biasanya format file dapat dibedakan dari namanya saja yaitu diakhiri dengan titik dan diikuti dengan tiga atau empat huruf terakhir. Beberapa format file pada citra digital[1] antara lain :

2.2.4.1 BMP(Bitmap)

Kriteria yang paling penting dari citra ini adalah kedalaman warna yaitu berapa banyak bit per pixel yang didefinisikan dari sebuah warna (Renaldi Munir, 2005).

Bitmap dengan mengikuti kriteria tadi maka dapat dilihat : a. 8 bit = 256 warna (256 gray scales).

b. 24 bit = 16.777.216 warna

Gambar 2. 12 Warna bitmap

Secara umum dapat dikatakan semakin banyaknya warna, maka akan diperlukan keamanan yang tinggi dikarenakan bitmap memiliki area yang sangat luas dalam sebuah warna yang seharusnya dihindari. Dilihat dari kedalaman atau kejelasan dari sebuah warna, bitmap dapat mengambil sejumlah data tersembunyi


(34)

dengan perbandingan sebagai berikut (ukuran ratio dari bitmap dalam byte = ukuran dari data yang disembunyikan) :

a. 8 bit = 256 warna : 8 : 1 b. 24 bit = 16.777.216 : 8 : 1

Perbandingan tersebut diperoleh dari penentuan LSB dalam suatu byte, ukuran citra 8 bit letak LSB adalah pada bit terakhir sedangkan untuk citra 24 bit letak LSB adalah pada bit ke-8, bit ke-16 dan ke-24 dimana masing-masing byte memiliki warna merah (red) , warna hijau (green) dan warna biru (blue).

2.2.4.2 GIF (Graphic Interchage Format)

GIF menggunakan maksimal 8 bit warna (28 = 256 warna) yang dibuat oleh Compuserver pada tahun 1987 untuk menyimpan berbagai gambar dengan format bitmap menjadi file yang mudah untuk diubah pada jaringan komputer. GIF adalah file format graphic yang paling tua pada Web, dan begitu dekatnya file format ini dengan web pada saat itu sehingga para Browser meggunakan format ini.

File GIF dapat disimpan dalam dua jalan yaitu secara berurutan (dari atas ke bawah) dan pembagian dengan baris (8 baris, 4 baris dan 2 baris), Pembagian baris pada gambar dengan resolusi gambar yang rendah dengan cepat dimana secara gradual datangnya untuk menjadi lebih fokus, dengan expense dari penambahan kapasitas file.

Terdapat dus tipe dari GIFs, antara lain :

1. GIF87a: support dengan interlancing dan kapasitas dari beberapa file. Teknik itu dinamakan GIF87 karena pada tahun 1987 standar ini ditemukan dan dijadikan standar.

2. GIF89a: adalah kelanjutan dari spesifikasi GIF87a dan penambahan pada transparency, pemberian tulisan dan animasi daritext dan grafik.


(35)

2.2.4.3 JPEG (Joint Photographic Experts Group)

JPEG Menggunakan 24 bit warna (224 = 16 juta warna) dan dirancang untuk kompresi beberapa fill-color atau gray-scale dari suatu gambar yang asli, seperti pemandangan asli di dunia ini. JPEG bekerja dengan baik pada continous tone images seperti photographs tetapi tidak terlalu bagus pada ketajaman gambar dan seni pewarnaaan seperti penulisan, kartun yang sederhana atau gambar yang menggunakan banyak garis. JPEG sudah mendukung untuk 24-bit color depth atau sama dengan 16,7 juta warna (224 = 16.777.216 warna), progressive JPEGs (p-JPEGs) adalah tipe dari beberapa persen lebih kecil dibandingkan baseline JPEGs.. Tetapi keuntungan dari JPEG dan tipe-tipenya terlihat pada langkanh-langkahnya sama seperti interlaced GIFs.

JPEG dirancang untuk mengeksploitas tingkat dari mata kita yakni bahwa mata kita tidak akan dapat membedakan perubahan yang lambat terang dan warna dibandingan dengan perbedaan suatu jarak apakah jauh atau dekat. Untuk itu JPEG sangat baik digunakan pada fotografi dan monitor 80-bit.

2.2.4.4 PNG (Portable Network Graphics)

Format PNG digunakan pada citra grayscale citra dengan palet warna, dan juga citra full-color. Format ini ini dibagi mejadi 2 tipe :

a. PNG-8 : menggunakan 8-bit warna, kurang kompatibel (tidak didukung) oleh browser, tetap biasanya mempunyai hasil kompresi yang lebih kecil dari format GIF. Berbeda dengan GIF yang telah dipatenkan. Format PNG bersifat bebas paten.

b. PNG-24 :menggunakan 24-bit warna, hampir sama dengan PNG-8 tetapi mempunyai ukuran yang lebih besar warna yang lebih banyak.


(36)

2.3 Computer Vision

Ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali objek yang diamati atau diobservasi. Ada hakikatnya komputer vision mencoba meniru cara kerja sistem visual manusia (human vision). Sebuah komputer yang menyerupai kemampuan manusia dalam menangkap sinyal visual (human sight) dilakukan dalam empat tahapan proses dasar yaitu proses penangkapan citra (image acquisition), proses pengolahan citra (image processing), analisa data citra (image analysis) dan proses pemahaman data citra (image understanding).

Proses dalam komputer vision meliputi[13] : a. Image Acqusition

Image Acqusition pada manusia dimulai dengan mata, kemudian informasi visual diterjemahkan ke dalam suatu format yang kemudian dapat dimanipulasi oleh otak. Senada dengan proses di atas, komputer vision membutuhkan sebuah mata untuk menangkap sebuah sinyal visual.

b. Image Processing

Tahapan kedua adalah komputer vision akan melibatkan sejumlah manipulasi utama (initial manipulation) dari data biner tersebut. Image processing membantu peningkatan dan perbaikan kualitas image, sehingga dapat dianalisis dan di olah lebih jauh secara lebih efisien.

c. Image Analysis

Eksplorasi sceneke dalam bentuk karakteristik utama dari objek melalui suatu proses investigasi merupakan tahapan image analisis. Sebuah program komputer akan mulai melihat melalui bilangan biner yang mepresesntasikan informasi visual untuk mengidentifikasikan fitur-fitur spesifikasi dan karakteristiknya.

d. Image Understanding

Tahapan terakhir dari komputer vision adalah bagaimana komputer bisa memiliki pengetahuan tentang sebuah objek yang ada dalam scene.


(37)

2.3.1 Komputer Grafik

Computer Graphics dapat diartikan sebagai perangkat alat yang terdiri dari hardware dan software untuk membuat gambar, grafik atau citra realistic untuk seni, game, komputer, image, dan film animasi.

Komputer grafik merupakan bagian yang paling menarik dari bidang imlu komputer, ini dikarenakan untuk dapatmemahaminya dengan baik diperlukan kemampuan matematika dan juga keahlian untuk memprogram dan kreatifitas.

2.4 Image Processing

Pengertian sederhana dari image processing adalah manipulasi dan analisis suatu informasi gambar oleh komputer. Sedangkan yang dimaksud dengan informasi gambar di sini adalah gambar visual dalam dua dimensi. Segala operasi untuk memperbaiki, mendeteksi, menganalisis, atau mengubah suatu gambar disebut image processing[13].

Konsep dasar dari sistem dari image processing diambil dari kemampuan indera penglihatan manusia yang selanjutnya dihubungkan dengan kemampuan otak manusia. Dalam sejarahnya, image processing telah diaplikasikan dalam berbagai bentuk, dengan tingkat kesuksesan yang cukup besar. Seperti berbagai cabang ilmu lainnya, image processing menyangkut pula berbagai gabungan cabang-cabang ilmu, seperti optik, elektronik, matematika, fotografi, dan teknologi komputer. Pada umumnya tujuan dari image processing adalah mentransformasikan atau ada banyak cara yang dapat diaplikasikan dalam suatu operasi image processing, yang sebagian besar dalam bentuk optikal. menganalisis suatu gambar sehingga informasi baru tentang gambar dibuat lebih jelas.

Berbagai bidang telah banyak menggunakan aplikasi dari image processing baik dibidang komersial, industri, dan medis. Bahkan bidang militer telah menggunakan perkembangan dunia digital image processing ini. Pada


(38)

umumnya tujuan dari image processing adalah mentransformasikan atau menganalisis suatu gambar sehingga informasi baru tentang gambar dibuat lebih jelas. Ada banyak cara yang dapat diaplikasikan dalam suatu operasi image processing.

Berikut ini adalah bagian proses dari image processing.

Gambar 2. 13 Fase Image Processing

2.4.1 Pengenalan Pola

Pengenalan pola dapat dikatakan sebagai kemampuan mengenali objek berdasarkan ciri-ciri dan pengetahuan yang pernah diamatinya dari objek-objek tersebut. Tujuan dari pengenalan pola adalah mengklasifikasi dan mendeskripsikan pola atau objek kompleks melalui pengetahuan sifat-sifat atau ciri-ciri objek tersebut. Ada tiga pendekatan dalam pengenalan pola yaitu secara sintaks, statistik, dan semantik. Pengenalan pola secara sintaks dilakukan berdasarkan ciri-ciri objek. Pengenalan pola secara statistik dilakukan berdasarkan komputasi matematis. Pendekatan dengan semantik berarti pola dikenali dalam tataran yang lebih abstrak.

2.5 Grayscaling

Citra digital dapat diwakili oleh format warna RGB (Red-Green-Blue) untuk setiap titiknya, dimana setiap komponen warna memiliki batasan sebesar 1 byte. Jadi untuk masing-masing komponen R, G, dan B mempunyai variasi dari 0 sampai 255. Total variasi yang dihasilkan untuk sistem dengan format warna RGB adalah 256 x 256 x 256 atau 16.777.216 jenis warna. Karena setiap komponen


(39)

warna memiliki batasan sebesar 1 byte atau 8 bit, maka total untuk mempresentasikan warna RGB adalah 8+8+8 = 24 bit.

Gray-level adalah tingkat adalah tingkat warna abu-abu dari pixel, dapat juga dikatakan tingkat cahaya dari sebuah pixel (Prasetyo, 2011). Maksudnya nilai terkandung dalam pixel menunjukan tingkat terangnya pixel tersebut dari hitam ke putih. Biasanya diterapkan nilainya antara 0 hingga 255 (untuk 256-gray-level), dengan 0 adalah hitam dan 255 adalah putih. Karena hanya terbatas 1 byte saja maka untuk mempresentasikan nilai pixel cukup 8 bit saja. Gray-scale adalah gambar yang memiliki gray-level sebagai nilai dari tiap pixel-nya.

Grayscaling adalah proses perubahan nilai pixel dari warna (RGB) menjadi gray-level (Prasetyo, 2011). Pada dasarnya proses ini dilakukan degan meratakan nilai pixel dari 3 nilai RGB menjadi 1 nilai. Untuk memperoleh hasil yang lebih baik, nilai pixel tidak langsung dibagi menjadi 3 melainkan terdapat persentasi dari masing-masing nilai. Salah satu persentasi yang sering digunakan adalah 29,9% dari warna merah (Red), 58,7% dari warna hijau (Green), dan 11,4% dari warna biru (Blue). Nilai pixel didapat dari jumlah persentasi 3 nilai tersebut.

Untuk proses grayscaling dapat digunakan beberapa rumus sebagai berikut[14].

1. Lightness

Graylevel akan di hitung sebagai berikut

Lightness = 1/2 x (max(R,G,B) + min(R,G,B))...(2.1)

2. Luminosity

Graylevel akan di hitung sebagai berikut

Luminosity = (R x 0.21)+(G x 0.75)+(B x 0.07)... (2.2)

3. Average

Graylevel akan di hitung sebagai berikut


(40)

Hasil dari ke tiga persamaan tersebut dapat dilihat pada gambar 2.14.

Gambar 2. 14 Hasil grascaling dari masing-masing rumus

Dalam penelitian ini penulis mengubah citra RGB menjadi citra keabuan (grayscale) menggunakan rumus pada persamaan (2.2), yaitu .luminocity.

2.6 Normalisasi

Normalisasi merupakan salah satu proses dalam tahap preprocessing citra yang dilakukan sebelum masuk ke proses pendeteksian. Proses untuk merubah atau menormalkan tingkat intensitas cahaya pada kedua citra tersebut, citra dipetakan pada pixel dengan ukuran tertentu sehingga memberikan representasi dimensi yang tetap. Bertujuan untuk menyesuaikan data citra pada basis data . proses normalisasi disesuaikan dengan kebutuhan pada proses


(41)

pendeteksian yang digunakan[12]. Proses yang digunakan pada tahap normalisasi ini mengggunakan konsep normalisasi sesuai dengan metode Normalized Coss Corelation, dimana dalam tahapan ini meliputi, menghitung mean (rata-rata) untuk citra uji dan citra template, dan menghitung nilai standard deviation (menormalkan intensitas cahaya pada kedua citra).

Rumus untuk menghitung mean sebagai berikut :

̅

...(2.2) Sedangkan rumus untuk menghitung standard deviation sebagai berikut :

̂

√∑ ̅ ̅

̂

√∑ ̅ ̅ ...(2.3) Keterangan :

f = Template g = image target

̅ = mean dari f

̅ = mean dari g

̂ = normalisasi dari f

̂ = normalisasi dari g

2.7 Convolution

Konvolusi (convolution) adalah sebuah proses dimana citra dimanipulasi dengan menggunakan ekstnal mask / subwindows untuk menghasilkan citra yang baru. Dimana ekstnal mask konvolusi dinyatakkan dalam bentuk matriks yang ukuranya lebih kecil dari ukuran citranya. Setiap elemen matrik disebut koefisien konvolusi. Konvolusi pada fungsi dua dimensi dapat didefinisikan pada persamaan 2.4.


(42)

Ekstnal mask pada operasi konvolusi secara umum menggunakan metode prewwit, metode sobel, metode Robert dan metode-metode lainya. Dalam penelitian ini proses konvolusi yang dilakukan menggunakan metode Normalized Cross Corelation, dimana ekstnal mask yang digunakan menggunakan template dari hasil normalisasi.

Operasi konvolusi dilakukan dengan menggeser penapis(window) pixel per pixel dan hasilnya disimpan dalam matrik yang baru. Berikut ini ilustrasi operasi konvolusi :

[ ]

* [

]

f(x,y)

Template(penapis) Citra Uji(target)

Ilustrasi proses perkalian antar dua buah matrik tersebut dapat dilihat pada gambar 2.15.

Gambar 2. 15 Ilustrasi teknik konvolusi matrik

2.8 Deteksi Objek

Deteksi objek dalam Digital Image Processing, suatu proses yang digunakan untuk menentukan keberadaan objek tertentu di dalam suatu citra


(43)

digital. Proses deteksi tersebut dapat dilakukan dengan berbagai macam metode yang umumnya melakukan pembacaan fitur-fitur dari seluruh citra input tersebut yang akan dibandingkan dengan fitur dari objek referensi atau template yang dimaksud atau tidak.

Aplikasi deteksi objek adalah aplikasi yang dapat mencari keberadaan objek yang dicari pada citra input sesuai dengan citra template atau citra yang menjadi acuan.

Hasil dari proses deteksi objek adalah berupa citra yang sudah diberikan border pada citra input, sesuai dengan citra atau objek yang dicari, dimana tingkat keakuratan pendeteksian objek tersebut diukur dengan ditemukan atau tidaknya suatu objek yang dicari pada aplikasi yang dibuat. Secara umum blok diagram kerja deteksi objek dapat dilihat sebagai berikut[14].

Input Data Image

Preprocessing

Convolution

Object Detection

Output Data Image


(44)

2.8.1 Input Data Image

Input data image merupakan proses mengunggah data citra uji dan citra template.

2.8.2 Preprocessing

Preprocessing merupakan suatu proses untuk menghilangkan bagian-bagian yang tidak diperlukan pada gambar input untuk proses selanjutnya, proses ini meliputi proses :

1. Konversi(memecah) dari RGB kedalam masing-masing warna R(Red),G(Green), dan B(Blue).

2. Grayscale merupakan proses mengubah citra warna menjadi citra keabuan, hal ini digunakan untuk menyederhanakan model citra. 3. Normalisasi adalah proses untuk merubah atau menormalkan tingkat

intensitas cahaya pada kedua citra tersebut, bertujuan untuk meningkatkan akurasi pendeteksian pada citra yang akan di uji. Proses yang digunakan pada tahap normalisasi ini mengggunakan konsep normalisasi sesuai dengan kebutuhan pada metode Normalized Coss Corelation.

2.8.3 Convolution

Konvolusi pada umumnya adalah sebuah proses dimana citra dimanipulasi dengan menggunakan ekstnal mask / subwindows untuk menghasilkan citra yang baru. Sedangkan filtering tanpa menggunakan mask tetapi hanya menggunakan pixel tetangga untuk mendapatkan pixel yang baru. Pada tahapan konvolusi ini digunakan hanya untuk mencari nilai korelasi dari perkalian dua buah matrik.

2.8.4 Object Detection

Deteksi objek merupakan proses yang dilakukan untuk mencari nilai kecocokan antar citra target dan citra yang dijadikan template. Dimana hasil dari


(45)

deteksi objek akan ditunjukan titik koordinat yang sesuai dengan letak dari objek yang dicari atau template pada citra target.

2.8.5 Output Data Image

Output yang dihasilkan dari pedeteksian objek adalah berupa citra yang sudah terdeteksi sesuai template dengan memberikan border berwana merah pada titik atau letak dari hasil deteksi dan menampilkan informasi seperti Higest Value (HV) dan Higest Value Location (HVL). Dimana HV adalah hasil dari perhitungan korelasi antara template dan citra target berupa nilai terbesar, yang artinya hasil nilai tersebut adalah nilai yang macth untuk template yang dicari. Sedangkan Highest Value Location (HVL) yaitu lokasi pixel(i,j) dimana objek yang dicari berada pada titik pixel tersebut pada citra target.

2.9 Threshold

Thresholding merupakan salah satu teknik dalam image recognition dalam sebuah pendeteksian objek yang berbasis template. Dalam perbedaan nilai intensitas yang signifikan antara citra uji (target) dan citra utama atau template (referensi) yang digunakan. Dalam pelaksanaan thresholding membutuhkan suatu nilai yang digunakan sebagai nilai pembatas antara objek utama dengan citra target, dan nilai tersebut dinamakan threshold.

Threshold digunakan untuk mempartisi citra dengan mengatur nilai intensitas semua piksel yang lebih dari threshold T sebagai latar depan dan yang lebih kecil dari nilai threshold T dilakukan berdasarkan histogram grasyscale[3]. Teknik dalam proses threshold yang digunakan.

1. max  mencari nilai maksimal dari hasil Cross-Correlation pada setiap piksel.

2. thresh menentukan nilai threshold.


(46)

4. Jika hasil lebih kecil atau kurang dari nilai threshold maka objek yang dicari tidak terdeteksi.

2.10 Template Matching

Template matching merupakan salah satu teknik dalam pengolahan citra yang berfungsi untuk mencocokan tiap-tiap bagian dari suatu citra degan citra yang menjadi template (acuan)[10]. Pada dasarnya proses yang dilakukan dengan cara memasukan citra yang mengandung template tertentu yang kemudian dibandingkan dengan template pada basis data. Template ditempatkan pada pusat bagian citra yang akan dibandingkan dan dihitung seberapa banyak titik yang paling sesuai dengan template. Langkah ini di ulangi terhadap keseluruhan citra masukan yang akan dibandingkan

Nilai kesesuaian titik yang paling besar antara citra masukan dan citra template menandakan bahwa template tersebut merupakan citra template yang paling sesuai masukan. Algoritma atau metode template matching sering digunakan untuk mengidentifikasi citra karakter huruf, angka, sidik jari, (fingerprint) dan aplikasi-aplikasi pencocokan citra lainya.


(47)

Gambar 2. 17 Ilustrasi Template Matching

Gambar 2.17 bagian kanan merupakan citra yang mengandung berbagai macam objek yang sama dengan objek pada template yang ada di sebelah kiri, dan yang paling bawah adalah hasil dari sebuah pendeteksian tersebut. Template matching diposisikan pada citra yang akan dibandingkan dan dihitung derajat kesesuaian pola pada citra masukan dengan pola pada citra template.

Template Matching dapat dibagi antara dua pendekatan, yaitu : 1. Pendekatan berbasis fitur

Pendekatan berbasis fitur menggunakan pencarian dan template gambar seperti tepi atau sudut, sebagai pembanding pengukuran matrik untuk menemukan lokasi Temlate Matching yang terbaik pada sumber gambar. Sebuah pendekatan berbasis fitur dapat dianggap sebagai pejndekatan yang lebih efektif, jika template gambar memiliki fitur yang kuat jika pencocokan di pencarian gambar bisa diubah dengan cara tertentu. Karena pendekatan ini tidak mempertimbangkan keseluruhan template gambar, komputasi dapat


(48)

lebih efisien ketika bekerja dengan sumber gambar beresolusi lebih besar, sebagai pendekatan alternatif, berbasis template, mungkin memerlukan pencarian titik-titik yang berpotensi untuk menentukan lokasi pencocokan yang terbaik.

2. Pendekatan berbasis template

Untuk template tanpa fitur yang kuat, atau ketika sebagaian besar template gambar merupakan gambar yang cocok, sebuah pendekatan berbasis template mungkin efektif. Seperti disebutkan diatas, karena berbasis template, Template Matching berpotensi memerlukan sampling dengan mengurangi resolusi pencarian dan template gambar oleh faktor yang sama dan melakukan operasi pada perampingan gambar yang dihasilkan (multiresolusi, atau piramida, pengolahan citra), menyediakan pencarian titik data, atau kombinasi keduanya.

2.11 Metode Normalized Cross Corelation

Pada penelitian ini Template Matching akan menggunakan algoritma Normalized Cross Corelation (NCC) yang dikembangkan oleh JP. Lewis (Lewis, 1995). Korelasi adalah alat penting dalam pengolahan citra, pengenalan pola, pendeteksian objek dan bidang lainya. Korelasi antara dua sinyal (cross corelation) adalah pendekatan standar untuk mendeteksi fitur dalam suatu citra.

Teknik Template Matching mencoba untuk menjawab beberapa variasi pertanyaan berikut : Apakah gambar vberisi view tertentu dari beberapa fitur ?, jika demikian, dimana?. Penggunaan Cross-Corelation untuk pencocokan template termotivasi oleh ukuran jarak (Euclidean distance).

(u,v) = ∑ 2 ...(2.5)

(penjumlahan atas x,y dengan dengan posisi fitur ada pada u,v) atau jika d2 diperluas menjadi


(49)

∑ selalu bernilai konstan. Jika ∑ mendekati nilai kontan, maka tersisa Cross-Correlation

∑ ...(2.6)

Yang merupakan ukuran tingkat kemiripan antara fitur dengan citra.

Untuk mendapatkan titik-titik yang sama antar citra, maka dapat digunakan correlation-based. Dalam correlation-based kita memotong-motong citra yang pertama dengan ukuran tertentu pada bagian sudut kemudian per potongan kita kemudian membandingkan pixel per pixel dengan citra yang kedua, dimana citra yang kedua tetap utuh, untuk mencari letak persamaan dari kedua citra tersebut.

Jika energi citra yang dinyatakan dengan ∑ (x,y) ternyata tidak bernilai konstan, pencocokan fitur dengan cross-correlation akan gagal. Sebagai contoh, korelasi antara template dan area pencocokan yang sama persis dalam citra mungkin lebihsedikit dibandingkan dengan korelasi antara template dengan spot yang terang. Kelemahan lain dari teknik template matching adalah bahwa jangkauan c(u,v) tergantung pada ukuran template dan tingkat pencahayaan pada citranya.

Variasi dalam energi citra template dapat dikurangi dengan filter high-pass sebelum Cross-Correlation. Pada implementasi sebuah transformasi domain proses filter dapat dengan mudah ditambahkan ke proses frekuensi domain, meskipun pemulihan dalam memotong frekuensi jadi masalah tersendiri, pemotongan frekuensi yang terlalu rendah dapat membuat signifikan variasi energi citra, sebaliknya jika pemotongan frekuensi terlalu tinggi dapat menghapus informasi yang berguna pada saat proses pencocokan.

Normalized Cross Corelation adalah salah satu solusi yang digunakan untuk template matching, dapat mengatasi masalah ini dengan menormalisai vektor citra dan template menjadi satuan panjang, dan menghasilkan koefisien korelasi yang tepat[8].


(50)

Cross correlation merupakan perkalian antara dua buah matrik yang berbeda yang digunakan untuk mengkategorikan data berdasarkan nilai yang sama dengan rumus sebagai berikut :

NCC (f,g) = ( ̂ ̂) ∑ ̂ ̂ ...(2.7) f = Template

g = image target

cfg = korelasi antara f dan g

̂ = normalisasi dari f

̂ = normalisasi dari g

Karena metode korelasi yang digunakan adalah Normalized Cross Corelation maka perlu adanya normalisasi terlebih dahulu pada window citra yang akan dicari korelasinya dengan persamaan 2.3.

Gambar 2. 18 Proses Korelasi

Dimana merupakan nilai mean dari template dan ̅ merupakan nilai mean f(i,j) dalam area suatu template.


(51)

2.12 Unified Modeling Language (UML)

Unified Modeling Language(UML) merupakan sistem arsitektur yang bekerja dalam OOAD(object-Oriented Analysis/Design) dengan satu bahasa yang konsisten untuk menentukan, visualisasi, mengkontruks, dan mendokumentasikan artifact (suatu informasi yang digunakan atau dihasilkan dalam suatu proses rekayasa software, dapat berupa model, deskripsi, atau software) yang terdapat dalam sistem[6].

2.12.1 Use CaseDiagram

Use case diagram menggambarkan tujuan penting fungsionalitas sistem yang akan ditampilkan pada user. Sebua use case merepresentasikan sebuah interaksi antara actor dengan sistem. Use case diagram dapat membantu dalam penyusunan requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua fitur yang ada pada sistem.


(52)

2.12.2 SequenceDiagram

Sequence diagram biasanya digunakan untuk menggambarkan skenario atau rangkaian lengkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang mend-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk actor, memiliki lifeline vertical.Message digambarkan sebagai garis berpanah dan satu objek ke objek lainnya. Pada fase desain berikutnya message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.

Gambar 2. 20 Contoh Squance Diagram

2.12.3 Collaboration Diagram

Collaboration diagram dipakai untuk memodelkan interaksi antar objek di dalam sistem. Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, Collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh objek.


(53)

Gambar 2. 21 Contoh Collaboration Diagram 2.12.4 Class Diagram

Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek. Class diagram menunjukan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan.


(54)

Gambar 2. 22 Contoh Class Diagram

2.12.5 ActivityDiagram

Activity diagram digunakan untuk menggambarkan aliran aktivitas baik dalam proses bisnis maupun use case. Diagram ini juga dapat digunakan untuk memodelkan aksi yang akan dilakukan saat sebuah operasi dieksekusi dan memodelkan hasil dari aksi tersebut.


(55)

Gambar 2. 23 Contoh Activity Diagram

2.13 JAVA

Java merupakan bahasa pemrograman berorientasi objek dan bebas platform[5], dikembangkan oleh SUN Micro System dengan sejumlah keunggulan yang memungkinkan Java dijadikan sebagai bahasa pengembangan enterprise. Berikut ini beberapa keunggulan dari Java yaitu :

1. Berorientasi Objek

Konsep pemrograman berorientasi objek tak lain dirancang agar dapat memandang pemrograman sebagai suatu kehidupan nyata. Ini membuat pengembangan software menjadi lebih mudah, karena seolah-olah berhubungan


(56)

satu bahasa yang memiliki dukungan penuh terhadap konsep pemrograman berorientasi objek ini.

2. Multiplatform

Java merupakan bahasa pemrograman yang bisa dijalankan pada komputer platform yang berbeda, asalkan JVM telah terintall untuk platform itu. Jika membuat program Java di atas Windows, maka ia bisa dijalankan pada Linux, Unix, Macintosh. Selain itu, Java juga bisa digunakan untuk membuat program yang berjalan di atas berbagai mobile device (dengan J2ME), PDA, embeded system, dan lain-lain.

3. Multithread

Fitur multithread digunakan untuk menjalankan sejumlah proses secara bersamaan. Dengan menggunakan fasilitas ini, dapat membuat program Java yang menjalankan beberapa perintah sekaligus, sehingga tidak perlu menunggu sebuah perintah selesai dikerjakan untuk mengerjakan perintah lain.

2.13.1 JVM dan Byte Code

Mengapa sebuah program Java bisa dijalankan pada semua sistem operasi? Jawabannya adalah karena keberadaan Java Virtual Machine (JVM) dan konsep byte-code. Karena hal inilah mengapa ada slogan khusus untuk Java, write one, run anywhere. Artinya hanya dengan membuat dan mengkompile sebuah program Java, program tersebut bisa dijalankan dimana saja.

Program Java yang ingin dijalankan (termasuk program Java lain yang diperlukan oleh program tersebut) harus dikompile terlebih dahulu dengan javac. Proses kompilasi program Java akan menghasilkan sejumlah file class dalam bentuk byte-code, file dengan ekstension “.class”.

Byte code Java tidak bisa dijalankan seperti binary code. Byte code harus dijalankan pada JVM, yaitu mesin Java yang mengerti perintah-perintah yang ada byte code. JVM inilah yang selanjutnya berhubungan dengan sistem operasi untuk menjalankan perintah pada byte code tersebut Untuk setiap sistem operasi


(57)

memiliki JVM yang berbeda. JVM harus sudah terinstall pada sistem agar dapat menjalankan program Java yang berbentuk byte code itu. Gambar 2.25, memperihatkan bagaimana sebuah file Java bisa dijalankan pada sistem operasi yang berbeda-beda, misalnya Windows, Solaris dan Macintos.

Gambar 2. 24 Java dengan Sistem Operasi

1. Source code Hello.java dapat dijalankan oleh berbagai macam sistem operasi. contoh: MacOS

2. Kompiler akan memproduksi Bytecode (Class) dari file Hello.class

3. Java bytecode (Hello.class) akan di kompilasi dan dijalankan langsung oleh interpreter

4. Akhirnya, Program Hello.java dapat dijalankan diberbagai platform.

2.13.2 J2SE (Standar Edition)

Yaitu fitur teknologi java yang dirancang untuk berjalan diatas PC dan workstation yang dapat berjalan diplatform sistem operasi linux, macintosh, windows, dll. SUN microsystem secara resmi membagi J2SE menjadi dua bagian besar yaitu J2SE core dan J2SE desktop. J2SE core memiliki teknologi turunan yang meliputi teknologi security, teknologi debugging, teknologi dokumentasi,


(58)

teknologi database ,dan banyak teknologi turunan lainnya. Sedangkan J2SE desktop memiliki beberapa teknologi meliputi JRE (Java Runtime Environment), JFC (Java Foundation Classes), Java Sound API, dll. Berikut ini adalah langkah-langkah dalam menghasilkan suatu program dengan bahasa java, yaitu :

1. Mengkompile Program Java

Kompiler yang digunakan untuk mengkompile semua program Java, baik program aplikasi atau applet, adalah javac. Program ini terdapat pada direktori bin dari direktori dimana J2SDK diinstall. Sintaks untuk mengkompile program Java dengan javac:

javac <nama-file-java.java>

2. Menjalankan Program Java

Java memiliki 2 program untuk menjalankan program Java, yaitu: java dan appletviewer. Java digunakan untuk menjalankan program aplikasi dan appletviewer digunakan untuk menjalankan applet. Program java dan appletviewer akan menjalankan Java Virtual Machine (JVM) untuk menjalankan kedua bentuk program Java.

a. Java

Sintaks untuk menjalankan program Java (byte code) dengan java: java <nama-file-java>

Perhatikanlah bahwa pada saat menjalankan program Java tidak boleh mengikutkan nama ekstensi dari file class (.class).

b. Appletviewer <nama-file-html>

Sintaks untuk menjalankan applet dengan appletviewer: appletviewer <nama-file-html>


(59)

2.14 Netbeans

Neetbeans IDE adalah IDE open source yang ditulis sepenuhnya dengan bahasa pemograman Java menggunakan platform NetBean. Netbeans IDE mendukung pengembangan semua tipe apliaksi Java (J2SE, web, EJB, dan aplikasi mobile). Fitur lainya adalah sistem proyek berbasis Ant, kontrol versi, dan refactoring.

Pada versi NetBeans IDE 8.0.1 yang dirilis Mei 2008 telah disediakan fitur-fitur Jaava EE yang termasuk sudah ada (termasuk Java Persistence support, EJB-3 dan JAX-WS). Sementara paket tambahanya, NetBeans Enterprise Pack mendukung pengembangan aplikasi perusahaan Java EE 5, meliputi alat desain visual SOA, skema XML, web service dan pemodelan UML. NetBeans C/C++ Pack mendukung proyek C/C++.

Semua fungsi IDE disediakan oleh modul-modul. Tiap modul menyediakan fungsi yang didefinisikan dengan baik, seperti dukungan untuk bahasa pemograman Java, editing, atau dukungan bagi CVS.


(60)

47 3.1 Analisis Masalah

Analisis masalah dilakukan untuk mengetahui masalah-masalah apa saja yang terjadi dalam pembangunan aplikasi pendeteksian objek pada sebuah citra digital. Pendeteksian objek dalam sebuah citra (image processing) adalah salah satu manfaat dari pengolah citra digital. Suatu proses yang digunakan untuk menentukan keberadaan objek tertentu di dalam citra. Proses deteksi tersebut dapat dilakukan dengan berbagai macam metode yang umumnya melakukan pembacaan fitur-fitur dari objek pada citra input. fitur dari objek pada citra input tersebut akan dibandingkan dengan fitur fitur dari objek referensi atau template. Dan hasil perbandingantersebut dapat digunakan untuk menentukan apakah suatu objek terdeteksi sebagai template yang dimaksud atau tidak.

Masalah yang terjadi ketika menentukan objek tertentu di dalam suatu citra digital. Proses pembacaan dan perbandingan fitur objek mengalami kesulitan pada saat model yang dijadikan template tidak sesuai dengan model pada citra target. Hal ini mengakibatkan objek tersebut tidak dapat terdeteksi dan berakibat pada hasil pembacaan template yang salah, terutama saat suatu objek yang dijadikan template memiliki tingkat kecerahan yang berbeda dengan citra target. Masalah yang lain terjadi ketika template yang diberikan tidak sesuai (mengalami perubahan).

Template Matching adalah salah satu teknik dalam pengolahan citra digital yang berfungsi untuk mencocokan tiap-tiap bagian dari suatu citra. Algoritma ini berkerja dengan cara mengevaluasi pola citra yang akan dibandingkan dengan pola citra template pada basis data. Tetapi template matching memiliki kekurangan salah satunya yaitu terhadap perubahan intensitas cahaya pada citra, hal ini mengakibatkan objek yang dicari dalam citra tersebut


(61)

tidak dapat terdeteksi. Dalam penelitian ini akan menganalisis metode yang dapat mengatasi salah satu kekurangan yang terdapat pada template matching yaitu dengan menggunakan metode Normalized Cross Corelation (NCC). Metode ini sangat cocok digunakan pada template matching, fungsi Normalized Cross Corelation yang digunakan untuk menormalisasikan intensitas cahaya pada tiap-tiap blok pixel dari kedua citra tersebut.

3.2 Analisis Sistem

Analisis sistem merupakan suatu cara yang digunakan dalam mengidentifikasi dan mengevaluasi suatu permasalahan, hambatan yang dihadapi dan kebutuhan yang diharapkan dalam sebuah sistem. Analisa ini diperukan sebagai dasar untuk tahapan perancangan sistem. Hasil dari analisa sistem ini akan menghasilkan berbagai kesimpulan dan saran yang dapat digunakan untuk dijadikan dasar perancangan aplikasi yang akan dibangun. Analisis sistem yang dilakukan untuk membangun aplikasi ini sebagai berikut :

3.2.1 Analisis Sistem yang Akan dibangun

Sistem yang akan dibangun adalah sistem pendeteksian objek pada sebuah citra digital. Sistem ini dapat mencari objek yang kita cari sesuai dengan citra yang menjadi referensi atau template. Adapun gambaran umum tentang sistem yang akan dibangun dapat dilihat pada gambar 3.1.


(62)

Mengambil nilai RGB dari kedua citra

Konversi ke grayscale

Normalisasi untuk kedua citra

Proses deteksi Objek Konvolusikan template dengan citra

target

Citra hasil deteksi Input citra target, dan template

Selesai Mulai


(63)

Berikut penjelasan gambaran umum sistem yang akan dibangun pada gambar 3.1 :

1. Pengguna mengunggah citra yang akan dijadikan citra uji (citra target) dan citra yang akan dideteksi/ dijadikan template (sebagai acuan).

2. Citra berupa citra RGB. Mengambil nilai GRB dari kedua citra tersebut. 3. Suatu suatu citra warna diubah menjadi citra keabuan (grayscale). Untuk

memperoleh informasi intensitas dari gambar, sehingga dapat di sortir mulai dari hitam untuk intensitas yang paling lemah sampai dengan putih intensitas yang paling kuat, dan kemudian mendapatkan nilai grayscale nya dari masing-masing citra tersebut.

4. Normalisasi, pada tahapan ini kedua citra kemudian di normalisasikan menggunakan tahapan normalisasi yang sesuai dengan metode Normalized Cross Corelation.

5. Konvolusi, pada tahapan ini dilakukan proses konvolusi dimana citra dimanipulasi dengan menggunakan eksternal mask / windows untuk menghasilkan citra yang baru. Pada tahapan ini metode Normalized Cross Corelation dilakukan.

6. Proses Matching, setelah mendapatkan nilai citra yang baru dari konvolusi matriks tahap selanjutnya ialah proses matching. Yaitu proses pencocokan atau persamaan antara citra uji dan dengan citra template.

7. Outpunya berupa citra yang sudah terdeteksi sesuai objek yang dicari.

3.3 Analisis Metode

Analisis metode digunakan untuk mengetahui alur proses dari sebuah metode yang digunakan dapat diterapkan ke dalam aplikasi yang dibangun. Pembangunan aplikasi ini menggunakan metode Normalized Cross Corelation pada Template Matching untuk mencocokan tiap-tiap bagian dari suatu citra dengan citra yang menjadi referensi atau template. Adapun penerapan metode pada alur kerja sistem dapat dilihat pada gambar 3.2.


(64)

Input Image Processing 2 Grayscaling 1 Matrix RGB Object Detection 1 Normalisasi citra 2 Konvolusi NCC Matching Output Template Matching

Gambar 3. 2 Penerapan Metode Pada Alur Kerja Sistem

3.3.1 Analisa RGB Matrix

RGB merupakan suatu model warna yang terdiri atas 3 buah warna yaitu R(Red), G(Green), dan B(Blue). Pada format RGB, suatu warna didefinisikan sebagai kombinasi (campuran) dari komponen warna R, G dan B. Proses awal yang dilakukan adalah membuatkan matrik RGB dari kedua citra yang akan dianalisis untuk memecah citra menjadi nilai-nilai warna dasar dan mengambil informasi tiga warna dasar dari tiap pixel yaitu R,G,B. Citra yang akan dianalisis dapat dilihat pada gambar 3.3.


(65)

Setiap warna memiliki 8bit (1byte) dimana memiliki range 256 color antara (0-255).

Gambar 3. 4 Formula ARGB 32-bit

Nilai RGB didapat dengan cara meggeser bit dan di-&kan. Proses pergeseran bit dilakukan dengan cara sebagai berikut :

R = (px >> 16bit) & 255 G = (px>> 8bit) & 255 B = (px & 255)

Pengkonversian matrik RGB menjadi masing-masing matrik R, G dan B dapa dilihat pada gambar 3.5, sebagai berikut :

Gambar 3. 5 Konversi Matriks RGB ke Matrik (R, G, B)

Dari Citra matrik RGB di konversi(memecah) citra kedalam masing-masing warna R,G,B untuk diambil 3 warna dasar tiap pikselnya yaitu warna


(66)

R(Red), G(Green) dan B(Blue). Dengan ketentuan tinggi dan lebar harus sama antara matrik citra dan aray RGB. Berikut adalah gambar hasil konversi matrik (RGB) ke masing-masing warna R(Red), G(Green), dan B(Blue). Dengan ukuran citra 9 x 9, dapat dilihat pada gambar 3.6.

Gambar 3. 6 Hasil Konversi Matrik RGB Menjadi Matrik (R, G dan B)

Algoritma untuk konversi kedalam masing-masing warna Red, Green, dan Blue adalah sebagai berikut :


(67)

3.3.2 Analisis Tahap Grayscaling

Proses yang lakukan selanjutnya adalah mengubah citra warna menjadi citra grayscale, hal ini digunakan untuk menyerdanakan model citra. Citra warna terdiri dari 3 layer matrik yaitu R-layer, G-layer, B-layer. Sehingga untuk melakukan proses-proses selanjutnya tetap diperhatikan tiga layer di atas. Bila setiap proses perhitungan dilakukan menggunakan tiga layer, berarti dilakukan tiga perhitungan yang sama. Sehingga konsep itu diubah dengan mengubah 3 layer di atas menjadi 1 layer matrik scale dan hasilnya adalah citra gray-scale. Dalam citra ini tidak ada lagi warna, yang ada adalah derajat keabuan

Untuk mengubah citra berwarna yang mempunyai nilai matrik masing-masing r, g dan b menjadi citra gray scale dengan nilai s, maka konversi dapat dilakukan dengan langkahnya sebagai berikut :

1. Membuat array 2D bertipe integer berukuran m x n, dimana (m) adalah tinggi citra dan (n) adalah lebar citra.

2. Telusuri setiap pixel (i,j) pada citra dan hasilkanlah grayscale dari pixel ke (i,j) dengan cara :


(68)

dimana :

s = array (i,j) dari matrik grayscale r = nilai red dari pixel (i,j) pada image g = nilai green dari pixel (i,j) pada image b = nilai blue dari pixel (i,j) pada image

Berikut adalah hasil perhitungan grayscale : diketahui nilai matriks RGB = 220,207,103 s(0,0) = (0.21*220)+( 0.72*207)+(0.07*103)

= 46.2 + 149,04 + 7,21 = 202,54

Didapatkan hasil perhitungan untuk s(0,0) = 202,54. Setelah didapatkan seluruh dari hasil perhitungan kemudian dilakukan image reconstructing yaitu proses konversi dari matrik ke gambar, maka dari hasil perhitungan graycale, dilakukan rounding (pembulatan) nilai ke paling dekat. Jadi hasil pembulatan untuk s(0,0) = 202.

Dilakukan perhitungan yang sama untuk seluruh elemen pixel pada citra target dan template, maka didapatkan citra grayscale sebagai berikut :


(69)

Pada pengubahan sebuah gambar menjadi grayscale dapat dilakukan dengan cara mengambil semua pixel pada gambar kemudian warna tiap pixel akan diambil informasi mengenai 3 warna dasar yaitu merah, biru dan hijau (melalui fungsi warna to RGB), ketiga warna dasar ini akan dijumlahkan menggunakan 0.21*R + 0.72*G + 0.07*B . Dan hasilnya yang akan dipakai untuk memberikan warna pada pixel gambar sehingga warna menjadi grayscale, tiga warna dasar dari sebuah pixel akan diset menjadi nilai rata-rata (melalui fungsi RGB to warna). Adapun perubahan citra RGB (citra awal) menjadi citra grayscale dapat dilihat sebagai berikut pada gambar 3.8.

Gambar 3. 8 Matriks RGB (Citra Target) Menjadi Grayscale

Berikut ini adalah hasil dari grayscaling :


(70)

Gambar 3.10 adalah hasil grayscaling untuk template :

Gambar 3. 10 Hasil grayscaling Untuk Template

Berikut ini adalah matrik hasil dari grayscaling :

Gambar 3. 11 Matrik RGB (template) menjadi Grayscale

Algoritma untuk proses grayscale gambar sebagai berikut :

3.3.3 Analisis Tahap Normalisasi

Karena metode korelasi yang digunakan adalah Normalized Cross Corelation maka perlu adanya normalisasi terlebih dahulu pada window dari


(71)

kedua citra yang akan dicari korelasinya, teknik normalisasi yang digunakan sesuai dengan tahapan normalisasi pada normalized cross corelation. Berikut adalah tahapan normalisasi untuk kedua citra :

Gambar 3. 12 Matrik Citra dan Template yang Akan di Normalisasi

1. Tahap menghitung Mean (rata-rata) untuk kedua citra.

Diketahui seluruh elemen pixel citra uji yang akan di normalisasi sebagai berikut :

g(citra) =

(202,200,194,186,177,171,166,165,165,200,198,197,192,186,180,173,165,159,20 3,200,202,200,196,192,186,174,164,205,206,206,204,200,198,195,186,175,199,2 03,204,202,197,193,191,185,178,191,191,193,195,192,188,178,171,165,187,211, 191,192,188,179,164,153,148,183,199,270,195,189,174,154,139,134,194,200,201 ,200,188,164,148,140,134)

Setelah di ketahui kumpulan elemen piksel dari sebuah citra tersebut kemudian menghitung rata-rata atau mean dari seluruh elemen pixel dari citra, perhitungan mean ini digunakan untuk menghitung proses normalisasi dari citra. Perhitungan dengan cara membagi jumlah nilai data dengan banyaknya data. Rumus mean dapat dituliskan :


(72)

̅

Maka proses perhitungan sebagai berikut : g mean=

(202+200+194+186+177+171+166+165+165+200+198+197+192+186+180+173 +165+159+203+200+202+200+196+192+186+174+164+205+206+206+204+200 +198+195+186+175+199+203+204+202+197+193+191+185+178+191+191+193 +195+192+188+178+171+165+187+211+191+192+188+179+164+153+148+183 +199+270+195+189+174+154+139+134+194+200+201+200+188+164+148+140 +134)

81 = 185,21.

Elemen pixel citra template yang akan di normalisasi sebagai berikut : f(template) = (81,70,38,77,73,62,101,65,77)

Maka proses perhitungan sebagai berikut : F mean = 81+70+38+77+73+62+101+65+77

9 = 71,56


(73)

Algoritma untuk proses Normalisasi tuntuk tahap menghitung mean untuk kedua citra sebagai berikut :

2. Tahap Menghitung Standard Deviation (sdv)

Setelah didapatkan nilai mean dari kedua citra tersebut, selanjutnya menghitung standar deviasi untuk kedua citra yang dianalisis untuk mendapatkan nilai citra baru yang sudah dinormalisasikan dengan rumus beriut :

̂ ̅ √∑ ̅

a. Tahap perhitungan sdv untuk citra target (g)


(74)

Tabel 3. 1 Perhitungan Tahap mencari nilai (sdv) Pada Citra Target

Px (i,j)

Perhitungan (g mean=185,21)

Hasil

0,0 (202-185,21)2 289

0,1 (200-185,21)2 255

0,2 (194-185,21)2 81

0,3 (186-185,21)2 1

0,4 (177-185,21)2 64

0,5 (171-185,21)2 196

0,6 (166-185,21)2 361

0,7 (165-185,21)2 400

0,8 (165-185,21)2 400

1,0 (200-185,21)2 255

1,1 (198-185,21)2 169

1,2 (197-185,21)2 144

1,3 (192-185,21)2 49

1,4 (186-185,21)2 1

1,5 (180-185,21)2 25


(75)

1,7 (165-185,21)2 400

1,8 (159-185,21)2 676

Dilakukan perhitungan yang sama hingga px(8,8). Setelah itu dilakukan perhitungan selanjutnya sebagai berikut.

√ = √

= √ = 13,64

Setelah diketahui nilai sdv dari citra target(g) maka didapatkan matrik baru dari perhitungan sebagai berikut :

Diketahui nilai g mean = 185,21 dan sdv dari g = 13,64. Maka dilakukan perhitungan dengan rumus ̅

̅ dengan hasilnya dibulatkan kepaling dekat.

Berikut adalah proses perhitungan normalisasi untuk citra target (g) hingga px(8,8) untuk mendapatkan nilai matrik baru hasil normalisasi.

Tabel 3. 2 Perhitungan Normalisasi Untuk Citra Target

Px (i,j)

Perhitungan

̅ ̅

Hasil


(76)

0,1 (200-185,21)/13,64 1

0,2 (194-185,21)/13,64 0

0,3 (186-185,21)/13,64 0

0,4 (177-185,21)/13,64 0

0,5 (171-185,21)/13,64 -1

0,6 (166-185,21)/13,64 -1

0,7 (165-185,21)/13,64 -1

0,8 (165-185,21)/13,64 -1

1,0 (200-185,21)/13,64 1

1,1 (198-185,21)/13,64 0

1,2 (197-185,21)/13,64 0

1,3 (192-185,21)/13,64 0

1,4 (186-185,21)/13,64 0

1,5 (180-185,21)/13,64 0


(1)

122

Temp_7 100%

Temp_8 100%

Temp_9 100%

Temp_10 100%

Perhitungan 100*10/10 = 100

Maka hasil persentase rata-ratanya untuk semua citra template pada pengujian berdasarkan kondisi intensitas normal yaitu : 100%

2. Intensitas cahaya citra terang

Pengujian berdasarkan sepuluh intensitas citra template (terang) untuk lima citra target. Sehingga didapatkan hasil gambar yang terdeteksi oleh aplikasi ini berdasarkan persentasenya yaitu :

Tabel 4. 15 Hasil Pengujian Berdasarkan Intensitas Cahaya Terang

Nama Template Persentase Terdeteksi

Temp_1 100%

Temp_2 100%

Temp_3 100%

Temp_4 100%

Temp_5 100%

Temp_6 100%

Temp_7 100%

Temp_8 100%

Temp_9 0%

Temp_10 100%

Perhitungan 100*9/10 = 90

Maka hasil persentase rata-ratanya untuk semua citra template pada pengujian berdasarkan kondisi intensitas terang yaitu : 90%


(2)

3. Intensitas cahaya citra gelap

Pengujian berdasarkan sepuluh intensitas citra template (gelap) untuk lima citra target. Sehingga didapatkan hasil gambar yang terdeteksi oleh aplikasi ini berdasarkan persentasenya yaitu :

Tabel 4. 16 Hasil Pengujian Berdasarkan Intensitas Cahaya Gelap

Nama Template Persentase Terdeteksi

Temp_1 100%

Temp_2 100%

Temp_3 100%

Temp_4 100%

Temp_5 100%

Temp_6 100%

Temp_7 100%

Temp_8 0%

Temp_9 100%

Temp_10 0%

Perhitungan 100*8/10 = 80

Maka hasil persentase rata-ratanya untuk semua citra template pada pengujian berdasarkan kondisi intensitas gelap yaitu : 80%

4. Pengujian berdasarkan sepuluh citra template terhadap citra target yang berbeda. Sehingga didapatkan hasil gambar yang tidak terdeteksi (Benar) oleh aplikasi berdasarkan persentasenya yaitu :


(3)

124

Tabel 4. 17 Hasil Pengujian Berdasarkan Template Terhadap Citra Target Yang Berbeda

Nama Template Persentase Tidak Terdeteki

Temp_1 100%

Temp_2 0%

Temp_3 100%

Temp_4 100%

Temp_5 100%

Temp_6 0%

Temp_7 100%

Temp_8 0%

Temp_9 100%

Temp_10 100%

Perhitungan 100*7/10 = 70

Maka hasil persentase rata-ratanya untuk semua citra template pada pengujian berdasarkan kondisi intensitas gelap yaitu : 70%

Dari hasil persentase yang didapatkan pada setiap pengujian, maka persentase keberhasilan dalam mendeteksi yaitu :

Jumlah Rata-rata = Hasil penjumlahan seluruh persentase pengujian / banyaknya pengujian

Jumlah Rata-rata = (100% + 90% + 80%+ 70%) / 4 = 85 %


(4)

125 5.1 Kesimpulan

Berdasarkan hasil analisis, perancangan dan implementasi maka penulis dapat mengambil kesimpulan sebagai berikut :

1. Penerapan Metode Normalized Cross Correlation berhasil diimplementasikan pada template matching dalam aplikasi pendeteksi objek pada citra digital, sehingga mempermuda pengguna dalam mendeteksi objek yang dicari pada citra digital.

2. Dari hasil pengujian, bahwa metode Normalized Cross Correlation dapat mendeteksi objek yang dicari, meskipun template yang digunakan memiliki tingkat intensitas cahaya yang berbeda.

3. Hasil pengujian dari implementasi metode normalized cross correlation

pada template matching untuk mendeteksi objek pada citra digital menghasilkan akurasi hingga 85%. Sehingga dapat diambil kesimpulan metode yang digunakan terbilang cukup baik untuk diimplementasikan pada template matching untuk aplikasi pendeteksi objek pada citra digital.

5.2 Saran

Aplikasi pendeteksi objek ini masih banyak kekurangan, sehingga perlu dikembangkan lagi agar aplikasi ini lebih sempurna. Untuk meningkatkan lagi kualitas akurasi dan fungsionalitas dari aplikasi ini, maka penulis menyampaikan saran-saran sebagai berikut :

1. Media pendeteksian ini akan lebih baik lagi jika dalam mendeteksi objek menggunakan resolusi citra yang lebih tinggi dan kualitas citra berdasarkan format citra yang lain.


(5)

126

2. Aplikasi ini akan lebih baik lagi jika dapat mendeteksi objek dengan dengan model template yang berbeda seperti rotasi template yang berbeda dengan citra target.

3. Perlu adanya tambahan metode agar tingkat akurasi dalam mendeteksi objek pada citra lebih baik.

4. Aplikasi ini akan lebih baik lagi jika dapat menghitung banyaknya objek yang terdapat pada citra uji (target).

5. Aplikasi ini bisa dikembangkan dalam kasus yang berbeda tidak hanya mendeteksi pada citra digital(gambar) melainkan dapat melalui media yang lain seperti audio, video.


(6)

DATA PRIBADI

Nama Lengkap : Heri Setiawan

Tempat, Tanggal Lahir : Pemalang, 24 September 1990

Alamat : Jl. Tubagus Ismail Dalam

Gg. Kubangsari II No.18C Kec.Coblong, Bandung 40134

Jenis Kelamin : Laki-laki

Agama : Islam

Kewarganegaraan : Indonesia

Status : Belum Kawin

Email : heri.setiawan009@gmail.com

Hp : 087720000496

RIWAYAT PENDIDIKAN

Tahun 1997-2003 Sekolah Dasar (SD) Negeri 1 Sirangkang

Tahun 2003-2006 Sekolah Menengah Pertama (SMP) Negeri 2 Ampelgading Tahun 2006-2009 Sekolah Menengah Atas (SMA) Negeri 1 Petarukan Tahun 2009-2014 S1 Fakultas Teknik dan Ilmu Komputer Jurusan Teknik