• Tidak ada hasil yang ditemukan

Pada BAB V merupakan bagian akhir dari laporan penelitian tugas

akhir ini yang menguraikan kesimpulan-kesimpulan yang diperoleh

dari proses penelitian serta saran-saran untuk pengembangan

5

BAB II

LANDASAN TEORI

2.1. Webcam

Web camera atau yang biasa dikenal dengan webcam, adalah kamera yang

gambarnya bisa di akses menggunakan world wide web (www), program instant

messaging, atau aplikasi komunikasi dengan tampilan video pada PC. Webcam

juga digambarkan sebagai kamera video digital yang sengaja didesain sebagai

kamera dengan resolusi rendah. webcam dapat digunakan untuk sistem keamanan.

Pada beberapa webcam, ada yang di lengkapi dengan software yang mampu

mendeteksi pergerakan dan suara. Dengan software tersebut, memungkinkan PC

yang terhubung ke kamera untuk mengamati pergerakan dan suara, serta

merekamnya ketika terdeteksi. Hasil rekaman ini bisa disimpan pada komputer,

e-mail atau di upload ke internet (Wibowo, 2010).

Webcam sangat bermanfaat dalam bidang telekomunikasi, bidang keamanan

dan bidang industri. Sebagai contoh webcam digunakan untuk videocall chatting,

surveillience camera, dan sebagai video conference oleh beberapa user.

6

2.2. Citra Digital

Citra digital adalah citra dua dimensi yang dapat ditampilkan pada layar

monitor komputer sebagai himpunan berhingga (diskrit) nilai digital yang disebut

pixel (picture elements). Pixel adalah elemen citra yang memiliki nilai yang

menunjukkan intensitas warna. Berdasarkan cara penyimpanan atau

pembentukannya, citra digital dapatdibagi menjadi dua jenis. Jenis pertama adalah

citra digital yang dibentuk olehkumpulan pixel dalam array dua dimensi.Citra

jenis ini disebut citra bitmap atau citra raster.Jenis citra yang kedua adalah

citrayang dibentuk oleh fungsi-fungsi geometri dan matematika.Jenis citra ini

disebutgrafik vektor.Citra digital (diskrit) dihasilkan dari citra analog (kontinu)

melalui digitalisasi.Digitalisasi citra analog terdiri sampling danquantitazion

Sampling adalah pembagian citra ke dalam elemen-elemen diskrit (pixel),

sedangkan quantitazion adalah pemberian nilai intensitaswarna pada setiap pixel

dengan nilai yang berupa bilangan bulat (G.W. Awcock,1996).

Citra digital dapat didefinisikan sebagai fungsi dua variabel, f(x,y), dimana x

dan y adalah koordinat spasial dan nilai f(x,y) adalah brightness level dari citra

Gambar 2.2 Citra Digital (Nixon dan Aguado, 2002)

Teknologi dasar untuk menciptakan dan menampilkan warna pada citra

digital berdasarkan pada penelitian bahwa sebuah warna merupakan kombinasi

dari tiga warna dasar, yaitu merah, hijau dan biru (Red, Green, Blue - RGB).

2.3. Pengolahan Citra Digital

Pengolahan citra merupakan teknik manipulasi citra secara digital yang

khususnya menggunakan komputer, menjadi citra lain yang sesuai untuk

digunakan dalam aplikasi tertentu. Agar mudah diinterpretasi oleh manusia atau

komputer, pengolahan citra harus dilakukan dengan berbagai macam metode

untuk mencapai citra sesuai yang diinginkan.

Operasi pengolahan citra digital umumnya dilakukan dengan tujuan

memperbaiki kualitas suatu gambar sehingga dapat dengan mudah

diinterpretasikan oleh mata manusia dan untuk mengolah informasi yang ada pada

suatu gambar untuk kebutuhan identifikasi objek secara otomatis.

y

x

x1

y1

8

Operasi-operasi yang dilakukan di dalam pengolahan citra banyak jenisnya.

Secara umum, operasi pengolahan citra dapat diklasifikasikan dalam beberapa

jenis sebagai berikut:

1. Image enhancement.

Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan cara

memanipulasi parameter-parameter citra.

Dengan operasi ini, ciri-ciri khusus yang terdapat di dalam citra lebih

ditonjolkan.Contoh-contoh operasi perbaikan citra:

a. perbaikan kontras gelap/terang

b. perbaikan tepian objek (edge enhancement)

c. penajaman (sharpening)

d. grayscaling

e. noise filtering

2. Image restoration.

Operasi ini bertujuan menghilangkan/ meminimumkan cacat pada citra.

Tujuan pemugaran citra hampir sama dengan operasi perbaikan citra. Bedanya,

pada pemugaran citra penyebab degradasi gambar diketahui. Contoh-contoh

operasi pemugaran citra:

a. penghilangan kesamaran (deblurring)

b. penghilangan noise

3. Image compression.

Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam bentuk

yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal penting

harus tetap mempunyai kualitas gambar yang bagus. Contoh metode pemampatan

citra adalah metode JPEG.

4. Image segmentation.

Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam beberapa

segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat dengan

pengenalan pola.

5. Image analysis.

Jenis operasi ini bertujuan menghitung besaran kuantitif dari citra untuk

menghasilkan deskripsinya. Teknik pengorakan citra mengekstraksi ciri- ciri

tertentu yang membantu dalam identifikasi objek. Proses segmentasi kadangkala

diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya.

Contoh-contoh operasi pengorakan citra:

a. Pendeteksian tepi objek (edge detection)

b. Ekstraksi batas (boundary)

c. Representasi daerah (region)

6. Image reconstruction

Jenis operasi ini bertujuan untuk membentuk ulang objek dari beberapa citra

hasil proyeksi. Operasi rekonstruksi citra banyak digunakan dalam bidang medis.

Misalnya beberapa foto rontgen dengan sinar X digunakan untuk membentuk

ulang gambar organ tubuh. (Nixon dan Aguado, 2002)

2.3.1. Gray-Scaling

Proses awal yang banyak dilakukan dalam image processing adalah

10

menyederhanakan model citra. Seperti telah dijelaskan di depan, citra berwarna

terdiri dari 3 layer matrik yaitu R- layer, G-layer dan 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 mengambil rata-rata dari nilai r, g dan b sehingga dapat

dituliskan menjadi:

I (x,y) = , +�( , )+�( , )

3 ……….….(2.1)

Keterangan:

I (x,y) = nilai intensitas citra grayscale

R (x,y) = nilai intensitas warna merah dari citra asal

G (x,y) = nilai intensitas warna hijau dari citra asal

B (x,y) = nilai intensitas warna biru dari citra asal

Atau dapat menggunakan persamaan:

I = ( 0,299 x R(x,y)) + ( 0,587 x G(x,y)) + (0,144 x B(x,y)) ……… (2.2) (Taylor dan Francis Group, 2007)

Berikut adalah contoh gambar hasil grayscaling

Gambar 2.3 Hasil Grayscaling( Nata S, 2010 )

2.3.2. Thresholding

Thresholding merupakan konversi citra berwarna ke citra biner yang

dilakukan dengan cara mengelompokkan nilai derajat keabuan setiap pixel

kedalam 2 kelas, hitam dan putih. Pada citra hitam putih terdapat 256 level,

artinya mempunyai skala “0” sampai “255” atau [0,255], dalam hal ini nilai

intensitas 0 menyatakan hitam, dan nilai intensitas 255 menyatakan putih, dan

nilai antara 0 sampai 255 menyatakan warna keabuan yang terletak antara hitam

dan putih (Munir, 2004).

Pada operasi pengambangan, nilai intensitas pixel dipetakan ke salah satu

dari dua nilai, α atau α , berdasarkan nilai ambang (threshold) T dapat ditunjukkan seperti pada persamaan 2.1.

� , = αα , f, f x, yx, y<T……….………....(2.3)

Jika α = 0 dan α = 1, maka operasi pengambangan mentransformasikan citra hitam-putih ke citra biner. Dengan kata lain, nilai intensitas pixel semula

12

berlaku untuk keseluruhan pixel atau untuk wilayah tertentu saja (berdasarkan

penyebaran nilai intensitas pada wilayah tersebut) (Munir, 2004).

Thresholding merupakan salah satu teknik segmentasi yang baik digunakan

untuk citra dengan perbedaan nilai intensitas yang signifikan antara latar belakang

dan objek utama.Dalam pelaksanaannya thresholding membutuhkan suatu nilai

yang digunakan sebagai nilai pembatas antara objek utama dengan latar belakang,

dan nilai tersebut dinamakan dengan threshold. Sementara pada kasus segmentasi

objek yang membutuh dua nilai T atau lebih, maka disebut dengan Multiple

Threshold (Gonzales dan Woods, 2002).

2.3.3. Background Subtraction

Subtraksi latar mempunyai peranan penting dalam visi komputer yaitu

dalam hal sistem pemantauan. Peranan yang dilakukan dalam subtraksi latar

adalah mengetahui atau membedakan bagian latar dan objek yang ada pada

sebuah citra. Untuk mengetahui adanya objek di dalam citra maka hal yang harus

dilakukan adalah dengan mempelajari atau mengetahui model dari latar. Ide dasar

dari subtraksi latar adalah

│background(r)-image(r)│= frame(r)………..(2.4) │background(g)-image(g)│= frame(g)……….(2.5) │background(b)-image(b)│= frame(b)……….(2.6)

frame(r) > threshold……….……….(2.7)

frame(g) > threshold ………(2.8)

Bila pixel ke-i memenuhi persamaan tersebut, maka pixel tersebut digolongkan ke

dalam kelompok pixel objek dan selain itu adalah latar. Berikut adalah contoh

hasil subtraksi latar.

Gambar 2.4 Subtraksi Latar (Picardi dan Jan, 2003)

2.4. Color Space

2.4.1. RGB

Model warna RGB adalah model warna berdasarkan konsep penambahan

kuat cahaya primer yaitu Red, Green dan Blue. Dalam suatu ruang yang sama

sekali tidak ada cahaya, maka ruangan tersebut adalah gelap total. Tidak ada

signal gelombang cahaya yang diserap oleh mata kita atau RGB (0,0,0). Ruang

14

Gambar 2.5 RGB Colorwheels (Syuhadi,2010)

Apabila kita menambahkan cahaya merah pada ruangan tersebut, maka

ruangan akan berubah warna menjadi merah misalnya RGB (255,0,0), semua

benda dalam ruangan tersebut hanya dapat terlihat berwarna merah. Demikian

apabila cahaya kita ganti dengan hijau atau biru (Permana,2010). Pencerahan serta

pengaruh intensitas cahaya dalam ruang warna RGB dapat dilihat pada Gambar

2.6.

2.5. Computer Vision

Computer Vision adalah pencitraan komputer dimana aplikasi tidak

melibatkan manusia dalam proses pengulangan visual. Dengan kata lain, gambar

yang diperiksa dan di olah oleh komputer. Meskipun orang yang terlibat dalam

pengembangan sistem aplikasi, akhirnya membutuhkan komputer untuk

mengambil informasi visual secara langsung (Umbaugh, 1998).

Computer vision merupakan sebuah proses otomatis yang mengintegrasikan

sejumlah besar proses persepsi visual, seperti pengolahan citra, klasifikasi citra,

pengenalan citra dan akusisi citra. Computer vision didefinisikan sebagai salah

satu cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat

mengenali obyek yang diamati atau diobservasi. Cabang ilmu ini bersama

kecerdasan buatan (Artificial Intelligence) akan mampu menghasilkan sistem

kecerdasan visual (Visual Intelligence System) (Munir, 2004).

Vision = Geometri + Measurement + Interpretatio………(2.10) Proses-proses dalam computer vision dapat dibagi menjadi tiga aktivitas:

a. Memperoleh atau mengakuisisi citra digital.

b. Melakukan teknik komputasi untuk memperoses atau memodifikasi data citra.

c. Menganalisis dan menginterpretasi citra dan menggunakan hasil pemrosesan

untuk tujuan tertentu, misalnya memandu robot, mengontrol peralatan,

16

2.6. OpenCV

OpenCV (Open Computer Vision) adalah sebuah API (Application

Programming Interface) library yang sudah sangat familiar pada pengolahan citra computer vision.Computer vision itu sendiri adalah salah satu cabang dari bidang

ilmu pengolahan citra (Image Processing) yang memungkinkan komputer dapat

melihat seperti manusia.Dengan computer vision tersebut komputer dapat

mengambil keputusan, melakukan aksi, dan mengenali terhadap suatu objek.

Beberapa pengimplementasian dari computer vision adalah face recognition, face

detection, face/pbject tracking, road tracking, dll.

OpenCV adalah library open source untuk computer vision untuk C/C++,

OpenCV didesain untuk aplikasi real-time, memiliki fungsi-fungsi akuisisi yang

baik untuk image/video. OpenCV juga menyediakan interface ke Integrated

Performance Primitives (IPP) Intel sehingga jika anda bisa mengoptimasi aplikasi computer vision anda jika menggunakan prosesor Intel (Syafi’i,2011).

Fitur yang dimiliki OpenCV antara lain :

1. Manipulasi data citra (alocation, copying, setting, convert).

2. Citra dan video I/O (file dan kamera based input, image/video file output).

3. Manipulasi Matriks dan Vektor beserta rutin-rutin aljabar linear (products,

solvers, eigenvalues, SVD).

4. Data struktur dinamis (lists, queues, sets, trees, graphs).

5. Pemroses citra fundamental (filtering, edge detection, corner detection,

sampling and interpolation, color conversion, morphological operations, histograms, image pyramids).

6. Analisis struktur(connected components, contour processing, distance

Transform, various moments, template matching, Hough Transform, polygonal approximation, line fitting, ellipse fitting, Delaunay triangulation).

7. Kalibrasi kamera (calibration patterns, estimasi fundamental matrix,

estimasi homography, stereo correspondence).

8. Analisis gerakan (optical flow, segmentation, tracking).

9. Pengenalan obyek (eigen-methods, HMM).

10. Graphical User Interface (display image/video, penanganan keyboard dan

mouse handling, scroll-bars).

OpenCV terdiri dari 3 library, yaitu:

1. CV : Untuk algoritma Image Processing dan Vision

2. Highgui : Untuk GUI, Image dan Video I/O

18

BAB III

METODE PENELITIAN

Untuk pengumpulan data yang diperlukan dalam melaksanakan tugas akhir,

ada beberapa cara yang telah dilakukan, antara lain:

1. Studi kepustakaan

Studi kepustakaan berupa pencarian data-data literatur dari fungsi pada

library OpenCV, melalui pencarian dari internet, dan konsep-konsep teoritis dari

buku-buku penunjang serta metode yang akan digunakan untuk melakukan

pengolahan citra.

2. Penelitian laboratorium

Penelitian laboratorium dilakukan dengan perancangan perangkat

lunak,implementasi perangkat lunak, pengambilan data pengujian aplikasi,

kemudian melakukan evaluasi dari data hasil pengujian.

3.1. Perancangan Sistem dan Blok Diagram Sistem

Model penelitian yang akan dilakukan adalah model penelitian

pengembangan. Untuk mempermudah dalam memahami sistem yang akan dibuat

Gambar 3.1 Blok Diagram Sistem Secara Umum

Sebagai input, citra didapatkan dari kamera yang terpasang pada miniatur.

Kemudian diproses menggunakan console application Visual C++ 2008 dengan

memanfaatkan library OpenCV. Citra yang diperoleh adalah citra keadaan blok

parkir mobil. Setelah mendapatkan citra tersebut, maka selanjutnya citra akan

diproses untuk kemudian disubtraksi/dikurangkan (subtraction) dengan citra

sampel (citra blok tanpa mobil). Dari hasil subtraksi tersebut dilakukan klasifikasi

benda yang teridentifikasi merupakan mobil atau tidak. Pada akhirnya akan

Display

Personal Computer

Visual C++ (add: OpenCV)

20

ditampilkan informasi pada PC berupa output nomor tempat yang kosong

(diasumsikan bahwa setiap tempat parkir terdapat nomor urut), selain itu juga citra

yang diambil secara streaming akan ditampilkan pada layar PC.

3.2. Perancangan Perangkat Keras

Flowchart perancangan dan pembuatan miniatur sebagai berikut :

Gambar 3.2 Flowchart Pembuatan Miniatur

Perangkat keras pada Tugas Akhir ini berupa miniatur lantai 2 tempat parkir

mobil di salah satu pusat perbelanjaan di Surabaya. Sebelum proses pembuatan

miniatur telah dilakukan riset untuk mengetahui desain dan ukuran tempat parkir

tersebut, selanjutnya dicari ukuran yang tepat untuk diterapkan dalam bentuk

miniatur menggunakan skala perbandingan sehingga hasil program bisa

mendekati hasil sesungguhnya apabila diterapkan secara real.

Riset tempat Perancangan miniatur Pembuatan miniatur Uji coba miniatur start stop

Dari hasil riset diperoleh data yaitu panjang lokasi parkir 50 m dengan tinggi 2,1

m dan lebar 9 m. Dari hasil tersebut ditentukan dimensi miniatur dan didapatkan

skala perbandingan 1:25, sehingga panjang miniatur menjadi 2 m, tinggi 8,4 cm,

dan lebar 36 cm. Hasil dimensi miniatur tersebut diperoleh dari penghitungan

sebagai berikut:

Diketahui:

Panjang sesungguhnya (PS) : 50 m = 5000 cm

Tinggi sesungguhnya (TS) : 2,1 m = 210 cm

Lebar sesungguhnya (LS) : 9 m = 900 cm

Ketinggian Kamera sesungguhnya (KS) : 2,1 m = 210 cm

Jarak Kamera dari mobil sesungguhnya (JK) : 6 m = 600 cm

Skala 1:25 Dicari : Pm, Tm, Lm Penyelesaian: Panjang miniatur (Pm) = 5000/25 = 200 cm = 2 m Tinggi miniatur (Tm) = 210/25 = 8,4 cm Lebar miniatur (Lm) = 900/25 = 36 cm

Ketinggian kamera miniatur (Km) = 210/24 = 8,4 cm

Jarak Kamera miniatur (Jm) = 600/25 = 24 cm

Karena webcam yang digunakan secara default sudah dalam kondisi diperbesar

maka pada miniatur ditentukan jarak kamera menjadi 36 cm sehingga

22

3.3. Perancangan Perangkat Lunak

Dalam perancangan perangkat lunak, compiler yang digunakan adalah

Microsoft Visual C++ 2008. Untuk library yang digunakan pada pengolahan citra

yaitu library OpenCV v2.3.

Kemudian dalam penulisannya atau dalam pembuatan program, akan

meliputi bagian-bagian penting dalam setiap langkah-langkah per bagian sesuai

dengan algoritma atau logika sekuensial dari awal sampai output. Berikut adalah

algoritma program secara global.

Gambar3.3 Flowchart sistem secara global

Menit = = 5 Ya Tidak Pengambilan citra parkir kosong Streaming Kamera Subtraksi region 1 Subtraksi region 2 Subtraksi region 3 Greyscale region 1 Grayscale region 2 Grayscale region 3 A B start

Gambar3.4 Flowchart sistem secara global (lanjutan)

Thresholding region 1 Thresholding region 2 Thresholding region 3

menghitung white pixel region 1 menghitung white pixel region 2 menghitung white pixel region 3

Tidak Ya Region 1 kosong B Region 1 terdapat mobil hasil < 0,35 Region 2 kosong Region 2 terdapat mobil hasil1< 0,35 Region 3 kosong Region 3 terdapat mobil hasil2< 0,35 Ya Tidak Ya Tidak

List parkir kosong

Key == esc A

Ya Tidak

24

Gambar 3.3 dan Gambar 3.4 adalah Flowchart sistem secara global atau

keseluruhan. Dimulai dari pengambilan citra sampel berupa kondisi parkir yang

masih kosong. Proses berikutnya adalah kamera melakukan streaming dan

mengambil/menyimpan citra kondisi parkir setiap 5 menit sekali (update data).

Kemudian menentukan titik koordinat area yang menjadi acuan dalam proses

pengolahan citra selanjutnya. Setelah itu mengambil dan mengakses nilai RGB

per pixel dari citra sampel dan citra update (citra hasil capture setiap 5 menit

sekali). Setelah didapatkan nilai RGB per pixel dari masing-masing citra dan

selanjutnya nilai RGB dari citra sampel akan dikurangkan (subtraction) dengan

nilai RGB dari citra update. Setelah didapatkan hasil pengurangan nilai RGB

maka citra hasil pengurangan/subtraksi diubah dalam bentuk citra abu-abu atau

biasa disebut Grayscale. Proses selanjutnya adalah citra yang sudah dalam bentuk

Grayscale diubah menjadi bentuk citra binary melalui proses thresholding agar

dapat dihitung jumlah pixel putih pada area tempat mobil diparkir, dari hasil

penghitungan tersebut didapatkan nilai yang akan dianalisis dan dikategorikan ada

atau tidaknya mobil di area tersebut dan proses yang terakhir adalah hasil analisis

akan ditampilkan di output berupa list nomor parkir yang kosong.

3.4. Pengambilan Citra Sampel

Citra sampel yang dimaksud adalah citra kondisi parkir saat dalam keadaan

tanpa adanya mobil. Citra sampel tersebut digunakan untuk data yang akan

disubtraksi dengan citra update. Pengambilan citra sampel dilakukan secara

nama background.jpg. Ketika program berjalan program akan memuat citra

sampel menggunakan fungsi cvLoadImage dan disimpan dalam variabel img,

format variabel img adalah Iplimage. Berikut potongan program untuk memuat

citra sampel .

IplImage* img = cvLoadImage( "D:\\pict_TA\\background.jpg" );

3.5. Penerimaan Data Citra

Setiap data citra yang dikirimkan dari kamera diakses dengan pointer

CvCapture dan menggunakan fungsi cvCaptureFromCAM(1). Angka 0 pada

fungsi cvCaptureFromCAM(0) merupakan indeks dari kamera yang digunakan.

Berikut adalah potongan program untuk proses penerimaan data citra dari Kamera

menggunakan.

CvCapture* capture = cvCaptureFromCAM(0);

Data citra yang ditangkap adalah data citra dengan ruang warna RGB dan

disimpan langsung pada variabel Iplimage (Intel Image Processing Library) yaitu

stuktur data untuk penyimpanan data citra pada OpenCV. Urutan channel data

dalam Iplimage adalah BGR sehingga untuk menampilkan warna sesungguhnya.

3.6. Streaming Citra

Untuk menampilkan data citra yang sudah tersimpan pada Iplimage ke

dalam window baru digunakan prototipe fungsi pada library OpenCV yaitu

cvShowImage (const char *name, const CvArr *image). Dengan ketentuan

parameter const char *name adalah nama window dan const CvArr *image adalah

Iplimage yang ditampilkan. Berikut program yang digunakan untuk menampilkan

26

while (1) {

IplImage*BG;

CvCapture* capture = cvCaptureFromCAM(0); cvNamedWindow("original1”);

cvShowImage("original1",BG); z = cvWaitKey(10);

if(z == 27)

break; }

Untuk refresh citra yang ditampilkan pada window dibutuhkan fungsi

cvWaitKey. Ini dikarenakan OS memiliki waktu minimum dalam menjalankan threads secara bergantian. Fungsi ini tidak memberikan delay persis seperti

parameter yang telah set, namun delay tergantung threads yang sedang berjalan

pada komputer saat itu. Nilai yang dikeluarkan dari fungsi ini adalah kode untuk

penekanan tombol atau -1 apabila tidak ada tombol yang ditekan selama waktu

yang ditentukan.

3.7. Proses Update Citra Kondisi Parkir

Flowchart proses update data setiap 5 menit sekali adalah sebagai berikut.

Gambar3.5 Flowchart Update Citra Kondisi Parkir

Streaming kamera Akses menit (time sistem) !fc and menit % 5== 0 fc = false ya tidak fc = false A B start

Gambar3.6 Flowchart Update Citra Kondisi Parkir (lanjutan)

Pada Gambar 3.5 dan Gambar 3.6 di atas, proses streaming dijalankan dan

program juga mengakses menit yang terdapat pada time system, selain itu pada

inisialisasi fc yang merupakan flag diberi nilai awal false. Ketika berada pada

kondisi !fc dan menit mencapai 5 menit atau kelipatannya (nilai didapat dari menit

dimodulus 5) maka program akan menyimpan hasil capture di variabel BG.

Variabel BG adalah variabel dengan format Iplimage yang digunakan untuk

menampung data citra hasil update. Proses selanjutnya variabel BG akan diolah

sampai mendapatkan hasil yang diinginkan setelah itu nilai fc diberi nilai true.

Tetapi jika waktu belum mencapai 5 menit maka program tidak akan

mengeksekusi proses selanjutnya hanya menjalankan streaming.

3.8. Pengolahan Citra

Proses pengolahan citra adalah proses yang paling utama dalam pengerjaan

program untuk sistem pada Tugas Akhir ini karena menggunakan Kamera sebagai

sensor pendeteksinya. Berikut adalah Flowchart pengolahan citra secara garis

besar :

BG = citra

fc = true A

28

Gambar3.7 Flowchart Pengolahan Citra

Metode utama yang digunakan pada proses pengolahan citra adalah metode

Background Subtraction image. Untuk mendukung metode utama dilakukan juga

proses pengolahan citra pendukung seperti konversi warna RGB menjadi bentuk

abu-abu (grayscaling) dan konversi warna RGB menjadi hitam putih/biner

(thresholding). Proses akses pixel juga merupakan proses yang penting untuk

menunjang metode Background Subtraction. Untuk mempermudah proses

mendeteksi mobil maka pada image sampel maupun image update dibagi menjadi

tiga area/region mobil ( 1 blok berisi 3 mobil) dengan koordinat pixel yang telah

ditentukan. Untuk proses pengolahan citra lebih detail lagi akan dijelaskan pada

tiap-tiap sub bab.

Tresholding grayscaling Subtraction Image Citra List tempat parkir start stop

3.8.1. Menentukan Koordinat Area

Proses menentukan koordinat masing-masing area dilakukan secara manual.

Untuk mempermudah mencari koordinat yang tepat maka perlu menampilkan

hasil koordinat yang dicoba dengan memberi tanda agar dapat terlihat posisi

koordinatnya. Persegi adalah tanda yang akan digunakan untuk menandai

masing-masing area pada program Tugas Akhir ini. Pada proses memberi tanda (masking)

digunakan function bawaan library OpenCV yaitu.

cvRectangle(CvArr*img,cvPoint(x,y),cvPoint(x1,y1),cvScalar(255,255,255),t,l).

Variabel CvArr*img merupakan citra yang akan diberi gambar persegi, sedangkan

Dokumen terkait