• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. bentuk dua dimensi ataupun tiga dimensi menjadi bentuk gambar digital yang

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI. bentuk dua dimensi ataupun tiga dimensi menjadi bentuk gambar digital yang"

Copied!
20
0
0

Teks penuh

(1)

LANDASAN TEORI 2.1 Gambar

Gambar atau citra (image) adalah representasi dari suatu objek nyata baik dalam bentuk dua dimensi ataupun tiga dimensi menjadi bentuk gambar digital yang dimengerti oleh komputer (Anil K.Jain, 1989, p2). Gambar dapat disimpan di komputer dalam berbagai format. Dua tipe gambar yang fundamental adalah vektor dan raster (bitmap). Gambar vektor disimpan sebagai rangkaian instruksi-instruksi untuk menggambar objek, sedangkan gambar raster disimpan sebagai elemen-elemen objek berupa piksel.

Gambar 2.1 Gambar logo pada format raster dan vektor

Melihat hasil pada gambar 2.1 mungkin terlihat bahwa gambar vektor lebih baik daripada raster, namun hal ini terjadi karena gambar logo masih merupakan gambar yang sederhana, lain halnya jika digunakan gambar yang lebih kompleks.

(2)

Gambar 2.2 Gambar gelas kopi pada format raster dan vektor

Pada gambar 2.2 dapat dilihat bahwa penggunaan gambar vektor tidak tepat untuk gambar-gambar yang kompleks, pada gambar diatas ukuran gambar raster hanya seperempat dari ukuran gambar vektor. Dapat dibayangkan bila gambar yang digunakan berupa wajah manusia, hasil dari format vektor akan berukuran sangat besar namun tetap saja tidak akurat. Karena itulah tiap-tiap format memiliki kelebihan dan kelemahan masing-masing, gambar vektor lebih baik digunakan untuk gambar-gambar sederhana seperti logo, font dan semacamnya, sedangkan gambar raster lebih baik digunakan pada gambar-gambar yang kompleks seperti foto , lukisan, dan semacamnya.

2.2 Gambar raster (Bitmap)

Gambar raster merupakan gambar digital yang tersusun dari sekumpulan titik penyusun gambar yang disebut piksel (picture-x element). Piksel-piksel penyusun gambar berkumpul dan bergabung membentuk seperti mozaik kemudian memanipulasi mata sehingga pada jarak pandang tertentu akan tampak kesan gambar utuh.

Gambar raster bersifat dependent pixel, artinya sangat dipengaruhi oleh banyaknya piksel penyusun gambar. Semakin banyak piksel-piksel yang menyusun gambar raster,

(3)

maka kualitasnya akan semakin baik sehingga gambar terlihat halus. Sebaliknya, semakin sedikit piksel-piksel yang menyusun suatu gambar, maka kualitasnya akan semakin kurang sehingga gambar terlihat kasar.

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

2.3 Format warna gambar digital

Gambar digital umumnya direpresentasikan dalam format warna RGB (merah, hijau, biru ). Setiap piksel diwakilkan oleh gabungan dari ketiga warna ini, yang mana masing-masing bernilai antara 0 sampai dengan 255. Sebagai contoh, warna ungu dinyatakan dengan nilai 255 untuk merah(R), 0 untuk hijau(G), dan 255 untuk biru(B).

(4)

Gambar digital juga dapat direpresentasikan dalam format monokrom atau sering disebut grayscale, pada format ini gambar disimpan dalam 8 bit integer yang memberikan 256 kemungkinan yang mana dimulai dari level 0 sampai dengan 255 ( 0 untuk hitam , 255 untuk putih, dan nilai diantaranya untuk derajat keabuan).

Gambar 2.4 Grayscale level

Dalam beberapa kasus, gambar digital juga sering diproses menjadi format binary, yang mana pada format ini nilai piksel hanya dapat bernilai 0 atau 1 ( pada skripsi ini nilai 0 menunjukkan warna putih dan nilai 1 menunjukkan warna hitam ). Format ini biasanya dipakai untuk menyederhanakan gambar, sehingga lebih mudah dalam memproses informasi yang diinginkan.

2.4 Mathematical Morphology

Transformasi mathematical morphology banyak didasarkan pada transformasi geometri. Berikut beberapa transformasi dasar geometri ,

Translasi A oleh x dinotasikan dengan A dan dirumuskan, x } , : {c c a x untuk a A Ax = = + ∈ Gambar 2.5 Translasi

(5)

Refleksi B ,dinotasikan dengan B), dan didefinisikan sebagai, } , : {x x b untukb B B) = =− ∈ Gambar 2.6 Refleksi

Terdapat dua transformasi dasar pada morphology, yaitu dilation dan erosion. Kedua transformasi ini menggunakan sebuah gambar A dan sebuah structuring element B. Dilation didefinisikan sebagai,

} : { ∩ ≠∅ = ⊕B x B A A x )

untuk kasus di mana A adalah persegi panjang dan B adalah circular disk yang terletak di titik origin, maka transformasi dilation dapat digambarkan sebagai berikut, ( Karena B simetri maka B= ) Bˆ

(6)

Erosion didefinisikan sebagai, } : {x B A B AΘ = x

bila A adalah persegi panjang dan B adalah circular disk yang terletak di titik origin, maka transformasi dilation dapat digambarkan sebagai berikut, ( Karena B simetri maka

B B= ) ˆ

Gambar 2.8 Gambar A mengalami erosion oleh structuring element B

Transformasi morphology yang penting dan sering dipakai adalah opening dan closing, kedua transformasi ini dibentuk dari transformasi dasar, dilation dan erosion. Opening biasanya digunakan untuk mengeliminasi objek kecil, memperhalus kontur dalam gambar, ataupun mencari bentuk spesifik di dalam gambar.

Opening A oleh B dinotasikan denganAo , dan dirumuskan sebagai, B B

B A B

(7)

Gambar 2.9 Transformasi Opening

Untuk lebih jelasnya, pada gambar 2.9 diperlihatkan hasil opening (yang diperlihatkan dengan garis putus-putus tebal) terhadap gambar A (garis tidak putus-putus). Structuring element yang dipakai (B) adalah sebuah circular disk dan garis putus-putus tipis memperlihatkan hasil erosion gambar A oleh B.

Closing biasanya dipakai untuk mengeliminasi lubang kecil, dan menyatukan gap kecil. Closing A oleh B dinotasikan A • B , dan dirumuskan sebagai,

B B A B

A• =( ⊕ )Θ

Gambar 2.10 Transformasi Closing

pada gambar 2.10 diperlihatkan hasil closing (yang diperlihatkan dengan garis putus-putus tebal) terhadap gambar A (garis tidak putus-putus-putus-putus). Structuring element yang

(8)

dipakai (B) adalah sebuah circular disk dan garis putus-putus tipis memperlihatkan hasil dilation gambar A oleh B.

2.5 Background subtraction

Background subtraction adalah proses untuk menemukan objek pada gambar dengan cara membandingkan gambar yang ada dengan sebuah model latar belakang. Prosedur background subtraction terdiri dari 3 tahap, yaitu pre-processing, background modeling, dan foreground detection.

Gambar 2.11 Background subtraction

1- gambar sekarang, 2- background model, 3- hasil background subtraction, 4- hasil background subtraction setelah threshold

(9)

Tahapan dalam Background subtraction : • Pre-processing

Pada tahap ini data mentah dari kamera (atau input lainnya) diproses menjadi bentuk yang dapat dimengerti oleh bagian program lain.pada tahapan awal ini dilakukan noise removal dan eliminasi objek kecil pada gambar agar menjadi lebih informatif. Eliminasi objek kecil dilakukan dengan menggunakan mathematical morphology yaitu transformasi Opening.

• Background modeling

Tahap ini bertujuan untuk membentuk model background yang konsisten, namun tetap dapat beradaptasi dengan perubahan lingkungan yang ada. Model harus dapat mentoleransi tingkat perubahan lingkungan, namun tetap sensitif dalam mendeteksi pergerakan dari objek yang relevan. Algoritma background modeling sendiri sangat banyak, namun pada skripsi ini akan dipakai Approximated Median Filter, karena proses komputasinya cepat dan hasilnya cukup memuaskan.

• Foreground detection

Pada tahap ini, dilakukan proses ekstraksi foreground dari background. Secara sederhana hal ini dilakukan dengan cara

c r c r c r

I

B

R

,

=

,

, R = hasil,

I = gambar saat ini B = background model r = baris, c = kolom

(10)

Nilai R lalu dibandingkan dengan nilai threshold yang telah ditentukan, jika lebih besar dari nilai threshold maka piksel di I(r,c) dapat dianggap berbeda dengan piksel di B(r,c). Nilai threshold adalah semacam nilai untuk mentolerasi error yang mungkin terjadi, threshold sendiri dipakai untuk mengurangi error yang disebabkan noise pada gambar digital.

2.6 Median filter

Algoritma ini adalah salah satu algoritma yang sering dipakai pada background modeling. Background model didapat dengan menggunakan nilai median dari setiap piksel di semua frame pada buffer.

)) , ( ),..., , ( ( ) , (x y median I 1 x y I x y Bt = t tn

Salah satu kelemahan Algoritma ini adalah dibutuhkannya buffer berukuran n untuk menyimpan gambar yang akan diproses (I) .

2.7 Approximated median filter

Approximated Median Filter adalah algoritma yang dikembangkan oleh McFarLane dan Schofield. Algoritma ini pada dasarnya memakai teknik median filter, namun tidak seperti median filter, algoritma ini tidak memerlukan buffer memori sehingga proses komputasinya lebih cepat dan efektif. Algoritma ini mengkomputasi nilai dari median dengan cara menambah nilai piksel bila nilainya lebih kecil dari gambar saat ini dan mengurangi nilai piksel bila nilainya lebih besar dari gambar saat ini. Hal ini dapat dirumuskan sebagai berikut :

(11)

⎩ ⎨ ⎧ > − < + = + ) , ( ) , ( 1 ) , ( ) , ( ) , ( 1 ) , ( ) , ( 1 n m x n m b untuk n m b n m x n m b untuk n m b n m b t t t t t t t

Hasil estimasi ini pada akhirnya akan konvergen ke nilai median yang sesungguhnya.

2.8 Connected component labeling

Algoritma Connected Component Labeling digunakan untuk melabeli tiap objek pada gambar binary dengan suatu label unik. Pengelompokan piksel sebagai satu objek ditentukan dari status ketetanggaan mereka. Sebuah piksel disebut bertetangga dengan piksel lain apabila piksel tersebut bertetangga langsung dengan piksel lain itu ataupun piksel lain itu merupakan tetangga dari tetangga piksel tersebut. Kriteria sebuah piksel merupakan tetangga dari piksel lain dapat berupa 4-connectivity, 6-connectivity ataupun 8-connectivity.

Gambar 2.12 4, 8 dan 6-connectivity

Algoritma connected component labeling berdasarkan banyaknya penelusuran gambar yang dilakukan dapat dibagi menjadi 3, yaitu one pass, two pass, dan multi pass. Sedangkan berdasarkan tipe perulangannya dapat dibagi menjadi 2 yaitu, recursive dan sequential. Algoritma yang digunakan pada program ini berjenis sequential algorithm dan merupakan two pass. Sedangkan kriteria ketetanggaan yang dipakai adalah 8-connectivity.

(12)

2.9 Component Object Model (COM)

Component object model (COM) adalah sebuah platform untuk komponen software yang diperkenalkan oleh Microsoft pada tahun 1993. COM digunakan untuk memberikan kemampuan komunikasi antar komponen dan pembentukan objek dinamis pada bahasa pemrograman apa saja yang mendukung teknologi ini. Walau COM diperkenalkan pada tahun 1993, namun Microsoft baru mulai menggunakan nama COM pada tahun 1997.

Kemampuan inti dari COM adalah kemampuan mengimplementasikan objek yang independen terhadap bahasa pemrograman, sehingga objek tersebut dapat digunakan pada environment yang berbeda dengan environment tempat objek diciptakan, bahkan pada environment dari platform mesin yang berbeda. Selain itu COM juga memudahkan untuk menggunakan kembali (reuse) objek tanpa harus mengetahui implementasi internal mereka, hal ini karena COM membuat suatu standar interface yang ketat yang harus dipenuhi oleh objek.

Walaupun COM telah diimplementasikan pada beberapa platform mesin, namun COM sebagian besar digunakan oleh Microsoft Windows. COM sendiri tidak lepas dari beberapa kelemahan, karena itu Microsoft saat ini telah mengeluarkan .NET Framework yang diharapkan akan dapat menggantikan fungsi COM.

COM object di Windows biasanya disimpan dalam extension “.dll” , sebagai contoh avicap32.dll, avifil32.dll, user32.dll, dan lain sebagainya.

2.10 DLL Hell

Salah satu kelemahan besar COM adalah lokasi dari setiap komponen disimpan oleh sistem dalam satu tempat (Windows registry). Karena hanya boleh ada satu versi

(13)

dari komponen yang terinstall maka hal ini akan menyebabkan Dll Hell, suatu keadaan dimana dua atau lebih aplikasi memerlukan versi yang berbeda dari satu komponen yang sama.

Untuk mengatasi hal ini, pada Windows XP, Microsoft memperkenalkan mode baru dari registrasi COM object yang disebut “Registration-free COM”. Fasilitas ini memungkinkan aplikasi yang memerlukan instalasi COM object untuk menyimpan semua informasi registrasi COM yang diperlukan pada direktori aplikasi itu sendiri, bukan pada registry global. Sayangnya kemampuan ini hanya dapat dilakukan pada Windows XP dan versi-versi sesudahnya.

2.11 .NET Framework

Microsoft memulai pengembangan .NET Framework pada akhir tahun 1990, dengan nama Next Generation Windows Services (NGWS). Pada akhir 2000, baru versi beta pertama dari .NET 1.0 diterbitkan.

.NET Framework adalah sebuah komponen yang merupakan bagian dari operating system Microsoft Windows. .NET Framework memiliki library yang besar yang dapat dipergunakan oleh programmer dan memanajemen eksekusi dari program yang ditulis menggunakan .NET Framework. Library yang disediakan mencangkup bidang:

• User interface • Akses data • Database • Kriptografi • Aplikasi Web

(14)

• Komunikasi Network , dan banyak lagi

Sedangkan manajemen eksekusi program di kerjakan oleh Common Language Runtime (CLR). CLR menyediakan suatu virtual machine bagi aplikasi, sehingga programmer tidak perlu lagi membuat kode spesifik dari sistem yang digunakan oleh pengguna. Selain itu CLR juga menyediakan servis-servis seperti :

• Mekanisme Sekuritas, • Manajemen memori, dan • Exception handling

Jika diteliti CLR mirip sekali dengan Java virtual machine (JVM) milik Sun, keduanya sama-sama berbasis pada model virtual machine yang menyembunyikan detail dari hardware komputer dimana aplikasi berjalan. Keduanya juga menggunakan byte-code, pihak Microsoft menamai milik mereka Common Intermediate Language (CIL) sedangkan Sun menamainya Java bytecode.

(15)

2.12 Web camera

Web camera (webcam) adalah sebuah alat yang terhubungkan ke komputer yang berfungsi untuk mengambil citra dari lensa teleskopik yang terdapat pada alat tersebut. Citra yang diambil ini kemudian dikirimkan ke komputer melalui kabel USB (Universal Serial Bus) atau kabel serial dengan kecepatan realtime (kurang lebih 15 frame per detik). Web camera saat ini dipergunakan secara luas pada aplikasi online video conference, pemantauan, sebagai kamera digital, dan banyak lagi. Resolusi ( ketajaman) maksimum citra hasil dari web camera adalah 640 x 480 piksel.

Gambar 2.14 Web camera Logitech

Teknik pengambilan citra dari web camera pada bahasa pemrograman C# menggunakan kumpulan fungsi-fungsi (API) yang telah disediakan oleh Microsoft Windows, melalui file “Avicap32.dll”. Berikut beberapa contoh konstanta penting yang digunakan untuk berkomunikasi dengan COM Object avicap32 :

• WM_CAP_START = 1024

• WM_CAP_STOP = WM_CAP_START + 68

• WM_CAP_COPY = WM_CAP_START + 30

• WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10 • WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 25

(16)

• WM_CAP_GRAB_FRAME = WM_CAP_START + 60

• WM_CAP_SET_PREVIEW = WM_CAP_START + 50

• WM_CAP_SET_PREVIEWRATE = WM_CAP_START + 52

Selain konstanta diatas masih ada lagi konstanta-konstanta lainnya, untuk informasi lebih lanjut disarankan untuk mencari pada dokumentasi online dari avicap32. Berikut adalah arti penggunaan dari konstanta-konstanta yang telah tertulis diatas :

• WM_CAP_START, berguna untuk menandakan bahwa program akan mulai menggunakan web camera.

• WM_CAP_STOP, berguna untuk menandakan bahwa program telah selesai menggunakan web camera.

• WM_CAP_COPY, berguna untuk menyalin gambar yang sedang aktif ke clipboard.

• WM_CAP_DRIVER_CONNECT, berguna untuk menginisialisasikan hubungan dengan sebuah web camera.

• WM_CAP_DRIVER_DISCONNECT, berguna untuk memutuskan hubungan dengan sebuah web camera.

• WM_CAP_GRAB_FRAME, berguna untuk mengambil sebuah gambar pada web camera.

• WM_CAP_SET_PREVIEW, berguna untuk menandakan bahwa program siap untuk menampilkan gambar bergerak dari web camera pada tampilan program. • WM_CAP_SET_PREVIEWRATE, berguna untuk menyatakan kecepatan

tampilan gambar bergerak. Satuan yang biasanya digunakan adalah 15 fps (frame per second).

(17)

Konstanta-konstanta ini nantinya akan dipakai melalui API SendMessage (berasal dari COM Object user32). Sebagai contoh pada C# pendeklarasian SendMessage dapat ditulis sebagai berikut :

[DllImport("user32", EntryPoint="SendMessage")]

public static extern int SendMessage(int hWnd, uint Msg, int wParam, int lParam);

sedangkan pemakaiannya dapat dilihat pada contoh berikut :

SendMessage(mCapHwnd, WM_CAP_CONNECT, 0, 0);

Dimana mCapHwnd adalah handle untuk capture window pada program

2.13 Video saving

Yang dimaksud dengan video saving disini adalah penyimpanan gambar-gambar yang diperoleh dari web camera menjadi file video. Pada program yang dibuat digunakan COM Object “Avifil32.dll”. File video akan disimpan dalam extension “.avi”.

2.14 Format penyimpanan Bitmap

Pada format gambar bitmap, gambar disimpan di Windows tidak dalam bentuk array 2 dimensi namun dalam bentuk berurutan (sequential). Piksel-piksel disusun mulai dari piksel-piksel pada baris pertama dan dilanjutkan dengan piksel-piksel pada baris selanjutnya. Untuk alasan efisiensi maka pada format bitmap, gambar diolah oleh Windows agar merupakan kelipatan dari 4. Cara pengolahan ini berupa penambahan bit (padding) pada setiap perpindahan baris pada gambar.

(18)

Gambar 2.15 Penyimpanan bitmap pada Windows

Pada format 24 bit bitmap, setiap piksel menempati 3 byte (24 bit) memori, dimana 1 byte (8 bit) pertama digunakan untuk menampung warna biru, byte kedua untuk warna hijau dan byte ketiga untuk warna merah.

Gambar 2.16 24 bit bitmap

Pada format 32 bit bitmap, setiap piksel menempati 4 byte (32 bit) memori. 3 byte dipakai sama seperti 24 bit bitmap, yaitu untuk warna biru, hijau dan merah. 1 byte

(19)

terakhir dipakai untuk nilai alpha pada piksel. Nilai alpha ini biasanya dipakai sebagai masking ataupun menunjukkan transparansi dari piksel.

Gambar 2.17 32 bit bitmap

Pada format 8 bit-indexed bitmap, gambar memiliki palette data yang berada tepat sebelum tempat penyimpanan pixel data. Pada format ini setiap piksel menempati 1 byte (8 bit) memori. Nilai byte ini kemudian akan dipakai untuk merujuk pada warna yang disimpan pada pallete data.

Gambar 2.18 8 bit-indexed bitmap

2.15 GSM Comm Library

GSM Comm Library adalah sekumpulan komponen yang ditujukan untuk membantu proses-proses yang berhubungan dengan short message services. GSM Comm diciptakan oleh Stefan Mayr dan bisa didapatkan secara gratis di

(20)

http://www.scampers.org/steve/sms/ . GSM Comm dapat digunakan secara gratis baik untuk aplikasi personal maupun komersil, selama komponen aslinya tidak dimodifikasi. Berikut adalah komponen-komponen dalam GSM Comm :

- PDU Converter ( PDUConverter.dll )

- GSM Communication ( GSMCommunication.dll ) - GSMCommShared ( GSMCommShared.dll ) - GSMCommServer ( GSMCommServer.dll ) - RS232 ( RS232.dll )

GSM Comm yang digunakan pada program skripsi ini merupakan versi 1.11, dan memerlukan :

- Microsoft's .NET Framework v1.1

- Telepon seluler ataupun modem GSM yang mendukung AT Command, dan terkoneksi pada port COM.

Gambar

Gambar atau citra (image) adalah representasi dari suatu objek nyata baik dalam  bentuk dua dimensi ataupun tiga dimensi menjadi bentuk gambar digital yang  dimengerti oleh komputer (Anil K.Jain, 1989, p2)
Gambar 2.2 Gambar gelas kopi pada format raster dan vektor
Gambar digital umumnya direpresentasikan dalam format warna RGB (merah,  hijau, biru )
Gambar 2.7 Gambar A mengalami dilation oleh structuring element B
+7

Referensi

Dokumen terkait

Pada penelitian ini proses enkripsi dan dekripsi pesan menggunakan algoritma simetri yaitu affine cipher dengan metode matriks menggunakan kunci sesi, sedangkan untuk mengamankan

Pemberian pupuk organik dengan taraf dosis 30 kg tanaman -1 tahun -1 pada percobaan 1 menghasilkan pertumbuhan kelapa sawit umur satu tahun pada tanah marginal

Wildan Wira (2012: 17) strategi adalah siasat atau akal yang digunakan atau disusun sebelum pertandingan dan merupakan suatu rencana yang digunakan untuk

Karakteristik yang digunakan dalam penentuan narasumber ialah Wanita Tuna Susila dalam masa rehabilitasi di UPT Rehabilitasi Sosial Bina Karya Wanita Kediri yang

Berdasarkan data primer defisiensi pupuk secara visual pada Tabel 9 dan status unsur hara kebun SBHE berdasarkan lembaga Riset BGA yang tercantum pada Gambar

Ragam data profil sekolah Data profil dan data operasional sekolah yang dimiliki oleh Direktorat Jenderal Pendidikan Dasar dan Direktorat Jenderal Pendidikan Menengah

Hasil analisis hubungan antara besar uang saku per bulan dengan asupan makanan sumber kalsium diperoleh bahwa atlet remaja dengan besar uang saku ≥ Rp 500.000,00 per bulan