BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

17
7 BAB II TEORI PENUNJANG Dalam Bab ini akan dipaparkan mengenai teori – teori dasar yang digunakan sebagai landasan yang digunakan dalam menyelesaikan proyek akhir ini. Berikut teori – teori yang digunakan : 2.1 Pengolahan Citra 2.1.1. Dasar Teori Sebuah citra diubah ke bentuk digital agar dapat disimpan dalam memori komputer atau media lain. Proses mengubah citra ke bentuk digital bisa dilakukan dengan beberapa perangkat, misalnya scanner, kamera digital, dan handycam. Ketika sebuah citra sudah diubah ke dalam bentuk digital (selanjutnya disebut citra digital), bermacam-macam proses pengolahan citra dapat diperlakukan terhadap citra tersebut. Image processing atau sering disebut dengan pengolahan citra digital merupakan suatu proses dari gambar asli menjadi gambar lain yang sesuai dengan keinginan kita. Misal suatu gambar yang kita dapatkan terlalu gelap maka dengan image processing gambar tersebut bisa kita proses sehingga mendapat gambar yang jelas. Secara garis besar dapat diilustrasikan sebagai berikut : Gambar 2.1. Blok Diagram Pengolahan Citra Prinsip dasar dari pengolahan citra adalah pengolahan warna RGB pada posisi tertentu. Dalam pengolahan citra warna dipresentasikan dengan nilai hexadesimal dari 0x00000000 sampai 0x00ffffff. Warna hitam adalah 0x00000000 dan warna putih adalah 0x00ffffff. Definisi nilai warna di atas seperti gambar 2.2., variabel 0x00 menyatakan angka dibelakangnya adalah hexadesimal. Gambar Asli Proses Filter Gambar Hasil

Transcript of BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

Page 1: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

7

BAB II TEORI PENUNJANG

Dalam Bab ini akan dipaparkan mengenai teori – teori dasar yang

digunakan sebagai landasan yang digunakan dalam menyelesaikan proyek akhir ini. Berikut teori – teori yang digunakan :

2.1 Pengolahan Citra

2.1.1. Dasar Teori Sebuah citra diubah ke bentuk digital agar dapat disimpan

dalam memori komputer atau media lain. Proses mengubah citra ke bentuk digital bisa dilakukan dengan beberapa perangkat, misalnya scanner, kamera digital, dan handycam. Ketika sebuah citra sudah diubah ke dalam bentuk digital (selanjutnya disebut citra digital), bermacam-macam proses pengolahan citra dapat diperlakukan terhadap citra tersebut.

Image processing atau sering disebut dengan pengolahan citra digital merupakan suatu proses dari gambar asli menjadi gambar lain yang sesuai dengan keinginan kita. Misal suatu gambar yang kita dapatkan terlalu gelap maka dengan image processing gambar tersebut bisa kita proses sehingga mendapat gambar yang jelas. Secara garis besar dapat diilustrasikan sebagai berikut :

Gambar 2.1. Blok Diagram Pengolahan Citra

Prinsip dasar dari pengolahan citra adalah pengolahan warna RGB pada posisi tertentu. Dalam pengolahan citra warna dipresentasikan dengan nilai hexadesimal dari 0x00000000 sampai 0x00ffffff. Warna hitam adalah 0x00000000 dan warna putih adalah 0x00ffffff. Definisi nilai warna di atas seperti gambar 2.2., variabel 0x00 menyatakan angka dibelakangnya adalah hexadesimal.

Gambar Asli

Proses Filter

Gambar Hasil

Page 2: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

8

0x00 XX XX

Nilai B Nilai G Nilai R

Gambar 2.2. Nilai warna RGB dalam hexadesimal Terlihat bahwa setiap warna mempunyai range nilai 00

(angka desimalnya adalah 0) dan ff (angka desimalnya adalah 255), atau mempunyai nilai derajat keabuan 256 = 28. Dengan demikian range warna yang digunakan adalah (28)( 28)( 28) = 224 (atau yang dikenal dengan istilah True Colour pada Windows). Nilai warna yang digunakan di atas merupakan gambungan warna cahaya merah, hijau dan biru seperti yang terlihat pada gambar 2.3. Sehingga untuk menentukan nilai dari suatu warna yang bukan warna dasar digunakan gabungan skala kecerahan dari setiap warnanya.

XX

Gambar 2.3. Komposisi warna RGB

Page 3: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

9

Dari definisi diatas untuk menyajikan warna tertentu dapat dengan mudah dilakukan, yaitu dengan mencampurkan ketiga warna dasar RGB, table 2.1. berikut memperlihatkan contoh-contoh warna yang bisa digunakan

Nilai Warna

Nilai Warna 0x00000000 Hitam 0x0000AAFF Orange

0x000000FF Merah 0x00888888 Abu-abu

0x0000FF00 Hijau 0x00FF00AA Ungu

0x00FF0000 Biru 0x00AAFF00 Hijau Muda

0x0000FFFF Kuning 0x00AA00FF Merah Muda

0x00FF00FF Magenta 0x00AAFFFF Kuning Muda

0x00FFFF00 Cyan 0x000088AA Coklat

0x00FFFFFF Putih 0x00AA0088 Ungu Tabel 2.1. Contoh warna dalam hexadesimal

Untuk mengetahui kombinasi warna, perlu dibuat suatu

program yang dapat menampilkan warna sesuai dengan nilai yang dimasukkan sehingga dapat dicoba berbagai macam kombinasi warna RGB seperti gambar 2.3.

2.1.2. Piksel Dan Resolusi Citra

Piksel merupakan satuan komponen terkecil dari gambar yang menentukan ukuran dari suatu gambar. Resolusi citra menyatakan ukuran bit dari suatu citra dalam satuan piksel. Untuk citra biner, piksel gambar yang kecerahannya dibawah tingkat tertentu diwakili oleh “0” sedangkan diatasnya diwakili oleh “1”, dengan demikian semua citra didalam memory komputer dapat diwakili oleh logika “1” dan “0”.

Sekarang kita dapat menghitung jumlah memory yang dibutuhkan untuk menyimpan citra tersebut. Sebagai contoh citra yang memiliki resolusi 256 x 256 piksel (jumlah total 65536), karena setiap piksel diwakili oleh “1” dan “0” dan komputer membutuhkan satu bit untuk menyimpan setiap piksel, sehingga dibutuhkan total bit sekitar 64 Kb.

Page 4: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

10

2.1.3. Hubungan Antar Piksel Dalam masalah pengolahan citra, hubungan antar piksel

merupakan hal yang sangat penting. Sebuah piksel p pada koordinat (x,y) mempunyai 4 tetangga horizontal dan vertikal.

Hubungan antar piksel merupakan suatu konsep yang sangat penting yang digunakan untuk mendefinisikan batas-batas dari suatu objek serta bagian-bagian daerah kecil dari suatu gambar. Sebagai pertimbangan apakah dua piksel dihubungkan atau tidak, diperlukan beberapa kriteria. Diantaranya adalah apakah kedua piksel tersebut mempunyai prinsip kedekatan yang sesuai dengan konsep yang telah ditentukan, seperti konsep 4-neighbours atau 8-neighbours. Selain itu, apakah kedua piksel tersebut memiliki gray level yang sesuai dengan kriteria yang diinginkan. Sebagai contoh, jika dua piksel mempunyai nilai masing-masing 0 dan 1 dan keduanya merupakan bagian dari 4-neighbours, maka dinyatakan bahwa kedua piksel tersebut tidak ada hubungan, hal ini karena keduanya memiliki nilai yang berbeda.

2.1.4. Ciri Gambar

Ciri merupakan suatu tanda yang khas, yang membedakan antara satu dengan yang lain. Ciri – ciri dasar dari gambar adalah:

Warna

• Ciri warna suatu gambar dapat dinyatakan dalam bentuk histogram dari gambar tersebut yang dituliskan dengan: H(r,g,b), dimana H(r,g,b) adalah jumlah munculnya pasangan warna r (red), g (green) dan b (blue) tertentu.

Bentuk • Ciri bentuk suatu gambar dapat ditentukan oleh tepi

(sketsa), atau besaran moment dari suatu gambar. Pemakaian besaran moment pada ciri bentuk ini banyak digunakan orang dengan memanfaatkan nilai-nilai transformasi fourier dari gambar.

• Proses yang dapat digunakan untuk menentukan ciri bentuk adalah deteksi tepi, threshold, segmentasi dan perhitungan moment seperti (mean, median dan standard deviasi dari setiap lokal gambar).

Page 5: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

11

Tekstur • Ciri tekstur dari suatu gambar dapat ditentukan dengan

menggunakan filter. • Ciri tekstur ini sangat handal dalam menentukan

informasi suatu gambar bila digabungkan dengan ciri warna gambar.

Dari ketiga ciri diatas, dalam proyek akhir ini hanya

menggunakan ciri warna

2.1.5. Grayscale Proses awal yang banyak dilakukan dalam Pengolahan Citra

adalah mengubah citra berwarna menjadi citra grayscale, hal ini digunakan untuk menyederhanakan model citra. Pada awalnya citra terdiri dari 3 layer matrik yaitu R-layer, G-layer dan B-layer.

Gambar 2.4. Komposisi warna RGB

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 grayscale dan hasilnya adalah citra grayscale. 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 grayscale dengan nilai s, maka konversi dapat dilakukan dengan mengambil rata-rata dari nilai r, g dan b.

Page 6: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

12

Gambar 2.5. Contoh gambar derajat keabuan

2.1.6. Tresholding Tresholding digunakan untuk mengatur jumlah derajat

keabuan yang ada pada citra. Dengan menggunakan tresholding maka derajat keabuan bisa diubah sesuai keinginan, misalkan diinginkan menggunakan derajat keabuan 16, maka tinggal membagi nilai derajat keabuan dengan 16. Proses tresholding ini pada dasarnya adalah proses pengubahan kuantisasi pada citra, sehingga untuk melakukan tresholding dengan derajat keabuan dapat digunakan rumus:

bwx =

dimana :

x adalah nilai derajat keabuan setelah tresholding w adalah nilai derajat keabuan sebelum tresholding b adalah jumlah derajat keabuan yang diinginkan

Berikut ini contoh tresholding untuk mengubah citra

berwarna menjadi 2 warna.

Page 7: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

13

Gambar 2.6. Hasil Tresholding warna merah

2.1.7. Erosi

Erosi merupakan proses penghapusan titik-titik batas objek menjadi bagian dari latar, berdasarkan structuring element yang digunakan. Pada operasi ini, ukuran obyek diperkecil dengan mengikis sekeliling objek. Cara yang dapat dilakukan ada 2:

• Dengan mengubah semua titik batas menjadi titik latar • Dengan menset semua titik di sekeliling titik latar

menjadi titik latar.

Algoritma untuk operasi Erosi:

Gambar 2.7. Proses Erosi

2.1.8. Dilasi

Dilasi merupakan proses penggabungan titik-titik latar menjadi bagian dari objek, berdasarkan structuring element yang

Page 8: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

14

digunakan. Proses ini adalah kebalikan dari erosi, yaitu merubah latar disekeliling objek menjadi bagian dari objek tersebut. Terdapat 2 cara untuk melakukan operasi ini, yaitu:

• Dengan cara mengubah semua titik latar yang bertetangga dengan titik batas menjadi titik obyek, atau lebih mudahnya set setiap titik yang tetangganya adalah titik obyek menjadi titik obyek.

• Dengan mengubah semua titik di sekeliling titik batas menjadi titik obyek, atau lebih mudahnya set semua titik tetangga sebuah titik obyek menjadi titik obyek.

Algoritma untuk operasi dilasi citra biner:

Gambar 2.8. Proses Dilasi

2.1.9. Operasi Closing

Operasi pembukaan (Closing) juga merupakan kombinasi antara operasi erosi dan dilasi yang dilakukan secara berurutan, tetapi citra asli dierosi terlebih dahulu baru kemudian hasilnya didilasi.

Efek yang dihasilkan adalah mengisi lubang kecil pada objek, menggabungkan objek-objek yang berdekatan, dan secara umum mensmooth-kan batas dari objek besar tanpa mengubah area objek secara signifikan.

Page 9: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

15

Contoh proses ini adalah sebagai berikut:

Gambar 2.9. Proses Closing

2.1.10. Canny Edge Detection Metode Canny ini tidak memiliki operator khusus, namun

metode ini terdiri dari beberapa langkah khusus. Metode Canny akan mendeteksi tepi dengan mencari nilai gradien maksimal lokal dari sebuah citra I. Gradien tersebut dihitung menggunakan turunan dari Gaussian filter. Metode Canny menggunakan dua thresholds, yang berguna untuk mendeteksi tepian yang terlihat jelas, dan tepian yang kurang jelas atau lemah, termasuk juga tepian yang kurang jelas yang terlihat pada output yang terhubung dengan tepian yang jelas. Metode ini lain dengan metode sebelumnya, yang sebelum dilakukan proses deteksi tepi harus dilakukan terlebih dahulu proses penghilangan noise. Metode Canny lebih utama akan mendeteksi tepian yang kurang jelas, yang tidak dapat diperoleh dengan menggunakan metode lain 2.1.11. Deteksi Gerakan

Dalam deteksi pergerakan objek terdapat suatu proses matching yang disebut Frame Difference yaitu mengurangi frame satu dengan frame lainnya dan memberi label pada frame berbeda yang lebih besar dari objek. Proses ini akan menangkap batas tepi dari objek yang bergerak.

Pertama-tama video image akan menampilkan gambar/image yang ditangkap oleh webcam. Video image (berupa color image) yang ditangkap ini kemudian diubah menjadi

Page 10: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

16

grayscale image. Dengan tujuan untuk memudahkan pemrosesan citra.

Bila timbul suatu image baru yang ditangkap oleh webcam maka program akan menghitung perbedaan yang terjadi antara dua image dengan cara melakukan penghitungan nilai rata-rata dari semua nilai gray value dalam suatu gambar yang dapat disebut juga sebagai mean. Nilai mean yang didapat akan dibandingkan dengan nilai threshold yang ditentukan oleh user. Semakin kecil batas nilai threshold maka motion detection akan semakin sensitif.

2.2 Komputer Grafik

2.2.1. Dasar Teori Grafika komputer atau dalam bahasa Inggris Computer

Graphics dapat diartikan sebagai seperangkat alat yang terdiri dari perangkat keras dan perangkat lunak untuk membuat gambar, grafik atau citra realistik untuk seni, game komputer, foto dan film animasi. Grafika komputer merupakan bagian yang menarik dalam bidang ilmu komputer. Ini dikarenakan untuk dapat memahaminya dengan baik diperlukan kemampuan matematika dan juga keahlian untuk memprogram dan kreatifitas.

Banyak cara dan variasi untuk menghasilkan gambar dengan komputer. Seringkali kita akan dihadapkan pada masalah algoritma dan pemrograman untuk menghasilkan citra realistik .

2.2.2. Bitmap

Merupakan representasi dari gambar yang terdiri dari baris dan kolom pada titik grafik gambar di komputer. Nilai dari titik disimpan dalam satu atau lebih data bit. Tampilan dari bitmap atau raster, menggunakan titik – titik berwarna yang dikenal dengan sebutan piksel. Struktur bitmap terdiri dari header, info header dan color table. Header merupakan bagian dari file bitmap yang berisi informasi header dari file gambar bitmap. Ukuran dari header ini 14 byte, masing – masing terdiri dari signatur 2 byte(berisi “BM” sebagai tanda gambar mempunyai format bmp), FileSize 4 byte (besarnya ukuran gambar mempunyai satuan bytes, Reserved 4 bytes (tidak digunakan atau sama diisi dengan nilai nol) dan DataOffset 4 byte(file offset untuk raster data).

Page 11: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

17

2.2.3. Translasi 2D Transformasi translasi merupakan suatu operasi yang

menyebabkan perpindahan objek 2D dari satu tempat ke tempat yang lain. Perubahan ini berlaku dalam arah yang sejajar dengan sumbu x dan sumbu y.

Dalam operasi translasi, setiap titik pada suatu entitas yang ditranslasi bergerak dalam jarak yang sama. Pergerakan itu dapat berlaku dalam arah sumbu x saja, atau dalam arah sumbu y saja atau bisa keduanya.

Sekiranya titik asal P(x,y) ditranslasi ke titik baru Q(x1, y1) maka titik baru ini dapat dicari dengan rumus:

x1 = x+dx y1 = y+dy

Nilai – nilai dx dan dy adalah nilai perubahan untuk operasi

translasi. Ini berarti bahwa titik P ditranslasi dalam arah x sebanyak dx dan dalam arah y sebanyak dy. Koordinat Q (x1, y1) adalah koordinat baru hasil dari operasi translasi.

2.3 OpenCV Library

2.3.1. Pengertian OpenCV adalah suatu library gratis yang dikembangkan

oleh developer-developer Intel Corporation. Library ini terdiri dari fungsi-fungsi computer vision dan API (Aplication Programming Interface) untuk image processing high level maupun low level dan sebagai optimasi aplikasi realtime. OpenCV sangat disarankan untuk programmer yang akan berkutat pada bidang computer vision, karena library ini mampu menciptakan aplikasi yang handal, kuat dibidang digital vision, dan mempunyai kemampuan yang mirip dengan cara pengolahan visual pada manusia,

Karena library ini bersifat cuma-cuma dan sifatnya yang open source, maka dari itu OpenCV tidak dipesan khusus untuk pengguna arsitektur Intel, tetapi dapat dibangun pada hampir semua arsitektur.

Saat ini para developer dari Intel Corporation telah membuat berbagai macam versi, yaitu:

- openCV untuk bahasa pemograman C/C++, - openCV untuk bahasa pemograman C# (masih dalam tahap

pengembangan), dan

Page 12: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

18

- openCV untuk bahasa pemograman Java. Untuk bahasa pemograman C# dan Java, karena masih

dalam tahap pengembangan, maka kita membutuhkan library lain sebagai pelengkap kekurangan yang ada. Namun untuk bahasa pemograman C/C++ tidak memerlukan library lainnya untuk pemrosesan pada computer vision.

2.3.2. Fitur

Berikut ini adalah fitur2 pada library OpenCV: • Manipulasi data gambar (alokasi memori, melepaskan

memori, kopi gambar, setting serta konversi gambar) • Image/Video I/O (Bisa menggunakan camera yang

sudah didukung oleh library ini) • manipulasi matrix dan vektor serta terdapat juga

routines linear algebra (products, solvers, eigenvalues, SVD)

• Image processing dasar (filtering, edge detection, pendeteksian tepi, sampling dan interpolasi, konversi warna, operasi morfologi, histograms, image pyramids)

• Analisis struktural • Kalibrasi kamera • Pendeteksian grerak • pengenalan objek • Basic GUI (Display gambar/video, mouse/keyboard

kontrol, scrollbar) • Image Labelling (line, conic, polygon, text drawing)

2.3.3. Setting OpenCV library

Langkah - langkah setting library OpenCV pada c++ project:

Page 13: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

19

Gambar 2.10. Klik kanan pada project, pilih setting

Setelah itu akan muncul jendela Project Settings.

Gambar 2.11. Jendela Project Settings

Tambahkan alamat berikut pada tab C/C++ dan kategori

Preprocessor: C:\Program Files\OpenCV\cv\include,

C:\Program Files\OpenCV\cvaux\include, C:\Program Files\OpenCV\cxcore\include, C:\Program Files\OpenCV\otherlibs\highgui,

Page 14: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

20

C:\Program Files\OpenCV\ml\include, C:\Program Files\OpenCV\otherlibs\cvcam\include

Gambar 2.12. Additional Include directories

Tambahkan juga modul object/library dibawah pada tab

Link dan kategori General: cv.lib cxcore.lib cvaux.lib highgui.lib ml.lib cvcam.lib

Gambar 2.13. Object/library modules

Page 15: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

21

Kemudian tambahkan Additional Library Path pada tab Link dan kategori Input:

C:\Program Files\OpenCV\lib

Gambar 2.14. Additional Library Path

Yang terakhir, tambahkan Additional resource include

directories pada tab Resources: C:\Program Files\OpenCV\cv\src, C:\Program Files\OpenCV\cvaux\src, C:\Program Files\OpenCV\cxcore\src, C:\Program Files\OpenCV\otherlibs\highgui, C:\Program Files\OpenCV\otherlibs\cvcam\src\windows

Gambar 2.15. Additional resource include directories

Page 16: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

22

2.4 Sistem Real Time 2.4.1. Pengertian

Pengertian sistem real time secara umum merupakan suatu ukuran kinerja suatu sistem tertentu yang mana menyangkut batasan kinerja sistem dan tahapan perancangan sistem. Dalam sebuah sistem real time yang mana memiliki permasalahan waktu harus nyata, maksudnya harus memiliki persyaratan pewaktuan yang sesuai dengan keadaan nyata yang dijadikan parameter dalam system itu.

Menurut kamus “Oxford Dictionary of Computing”, Real-time system dapat didefinisikan sebagai: “Sistem apapun dalam hal waktu dimana suatu keluaran dihasilkan adalah penting. Hal ini biasanya dikarenakan suatu masukan yang berhubungan dengan suatu pergerakan dalam dunia fisik, dan keluarannya harus tetap memiliki hubungan dengan pergerakan tersebut. Keterlambatan dari waktu masuk sampai waktu keluar harus cukup kecil dan memenuhi batasan waktu yang dapat diterima”.

2.4.2. Hardware pendukung Dalam proyek akhir ini, untuk acuan waktunya sehingga

dapat dikatakan realtime menggunakan kecepatan 1 milidetik untuk penangkapan gerakan usernya, sedangkan untuk translasi kapal disimulasikan dengan 300 sampai 400 milidetik.

Untuk mendapatkan hasil penangkapan yang real time, secara umum media yang digunakan adalah kamera digital. Sebuah kamera digital mampu menjangkau hingga resolusi tertentu. Biasanya resolusi yang mampu dijangkau mencapai 320x460 sampai 768x1024 piksel. Kemampuan kamera menangkap gambar utuh (frame) setiap detiknya sangatlah signifikan untuk menghasilkan video yang halus. Secara umum kamera dapat dikatakan real time jika mampu menangkap paling tidak 25 gambar utuh (frame) setiap detiknya.

Ada dua jenis kamera yang bisa digunakan, tipe Webcam atau kamera video yang dihubungkan dengan port USB dan tipe VCR (Video Camera Recorder) atau kamera video digital yang dihubungkan dengan port firewire.

Page 17: BAB II TEORI PENUNJANG 2.1 Pengolahan Citra Dasar Teori

23

Gambar 2.16. Web Kamera