PENDETEKSIAN PERGERAKAN OBJEK BERDASARKAN
PARAMETER TINGGI DENGAN MENGGUNAKAN KAMERA
WEB
Ivin Gloria Septimahari / 0322186 Email : i_9l0r1a@yahoo.co.id
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha, Jl. Prof.Drg.Suria Sumantri, MPH No.65, Bandung 40164, Indonesia.
ABSTRAK
Sensor untuk sistem keamanan dengan menggunakan pendeteksi infra red dalam prakteknya sering terjadi kesalahan pendeteksian ( false alarm). Hal ini disebabkan karena infra red hanya mendeteksi panas tubuh suatu objek, sehingga sering terjadi kesalahan dalam membedakan objek manusia dan hewan.
Berdasarkan hal tersebut, pada tugas akhir ini dirancang suatu sistem pendeteksian yang lebih spesifik dengan memanfaatkan teknologi pengolahan citra digital dengan menggunakan kamera web sebagai sensor.
Pendeteksian objek pada tugas akhir ini menggunakan parameter tinggi sehingga kamera web dapat mendeteksi objek tersebut dan mengikuti pergerakannya. Untuk mensimulasikan pendeteksian objek ini digunakan boneka manusia dengan tinggi minimal 40 piksel pada jarak 55 cm dari kamera. Jika kamera web menangkap objek dengan tinggi yang telah ditentukan maka kamera web akan bergerak, tetapi jika tidak maka kamera web akan diam.
Perangkat keras yang direalisasi pada tugas akhir ini menggunakan mikrokontroler AT89S52 yang akan memberi perintah kepada motor DC untuk menggerakkan kamera web apabila kamera web mendeteksi objek yang diinginkan. Dari hasil pengujian rata-rata delay waktu respon pergerakan kamera dihitung dari mulai objek bergerak adalah 0,97 detik.
THE DETECTION OF OBJECT MOVEMENT IS BASED ON THE
HEIGHT PARAMETER BY USING THE WEB CAMERA
Ivin Gloria Septimahari/0322186 Email : i_9l0r1a@yahoo.co.id
Electrical Engineering, Technic Faculty, Christian Maranatha University Prof. Drg. Suria Sumantri 65 Street, Bandung 40164, Indonesia
ABSTRACT
The censor for security system using infra red detector in practicing is often mistake detection ( false alarm). It is caused by infra red only detects the temperature of the object. Thus, it often happens mistake detection to differentiate between human and animal.
Based on the statement above, in this Final Project is designed a system detection to be specific by using image processing with web camera as the censor.
The detection of the object in this Final Project using the height parameter so as the camera web could detecting this object and following his movement. To simulate the detection of this object was used the human doll height 40 pixel at a distance of about 55 cm from camera. If the camera web caught the object high that has in determined then the camera web will move, but if not then the camera web will be quiet.
For this Final Project, the hardware is realized by using microcontroller AT89S52 that will give the order to the DC motor to move the camera web if the camera web detecting the object that is wanted. From the test result of the average delay time response camera movement is counted starting from the first movement of the object is 0,97 second.
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah memberikan berkat-Nya sehingga Laporan Tugas Akhir ini dapat diselesaikan. Laporan ini disusun dan diajukan untuk memenuhi sebagian syarat-syarat dalam penyelesaian jenjang Studi Strata-1 di Universitas Kristen Maranatha, Bandung, dengan judul “Pendeteksian Pergerakan Objek Berdasarkan Parameter Tinggi dengan Menggunakan Kamera Web”.
Selama penulisan laporan tugas akhir ini, banyak bantuan dan dukungan moral yang diterima dari berbagai pihak. Oleh karena itu, penulis menyampaikan terima kasih kepada:
1. Ir. Aan Darmawan, MT selaku dosen pembimbing yang telah memberikan dukungan, materi, saran dan persiapan yang berarti dalam penulisan laporan tugas akhir ini.
2. Dr.Ir. Daniel Setiadikarunia., MT., selaku Ketua Jurusan Teknik Elektro Universitas Kristen Maranatha atas semua fasilitas yang diberikan selama masa perkuliahan.
3. Anita Supartono, M.Sc., selaku Koordinator Tugas Akhir Jurusan Teknik Elektro Universitas Kristen Maranatha.
4. Dr. Ratnadewi, ST., MT., Novie T. Pasaribu, ST., MT. dan Heri Andrianto., ST., MT. selaku dosen penguji Tugas Akhir yang sudah banyak membantu penulis dalam memberikan masukan dan saran. 5. Ir. Kok King Lok selaku dosen wali yang telah memberi dukungan dan
saran selama penulis menuntut ilmu di Universitas Kristen Maranatha. 6. Seluruh staf Dosen Jurusan Teknik Elektro Universitas Kristen
Maranatha, yang telah membimbing dan memberi bekal ilmu pengetahuan yang sangat berharga selama penulis mengikuti perkuliahan.
8. Ayah, Kak Debbie, Kak Ira, Kak Denies, Tante Meti, adik-adik, ponakan-ponakan, dan seluruh keluarga yang telah memberikan doa yang tulus, semangat, dorongan dan bantuan materi maupun moril selama masa perkuliahan sampai proses penulisan laporan tugas akhir ini.
9. Alex Tisna Senjaya, ST yang telah memberikan data-data tugas akhir miliknya untuk dikembangkan pada tugas akhir yang disusun oleh penulis.
10.Andri Nugraha Pratama yang telah memberikan dukungan, semangat , dan bantuan sehingga tugas akhir ini dapat terselesaikan.
11.Lavinia Agustina dan Santi Ros Maria yang selalu memberikan semangat, dukungan, dan telah menjadi saudara di kosan Dangdeur indah no.6.
12.Angki Dwi Saptani, Roulina Fransisca Andriani, Diah Ayu Oktavia, Noviani Krisnadi, Hilda Fitriani Zahara, Erna Nikelina yang telah menjadi sahabat yang selalu memberikan dukungan, semangat, dan perhatian selama penulis menuntut ilmu di Universitas Kristen Maranatha.
13.Rubin, Krisyunardi, Rizky, Yogi, Yohanes, Yudis, Galih, Nehemia, Daniel, David, Jongguran, Windu, Agus, Nurjani, Martin, Jemy, Pascal yang memberikan semangat, dukungan moril, dan membantu penulis dalam menyelesaikan tugas akhir ini.
14.Rekan – rekan mahasiswa Fakultas Teknik Jurusan Elektro Universitas Kristen Maranatha angkatan 2003 yang selalu memberikan doa yang tulus dan selalu memberikan motivasi kepada penulis.
Penulis menyadari bahwa laporan tugas akhir ini masih memiliki kekurangan-kekurangan. Sehingga setiap saran dan kritik yang membangun akan diterima untuk penyempurnaan laporan ini.
Bandung, September 2008
DAFTAR ISI
I.5 Sistematika Pembahasan... 2
BAB II LANDASAN TEORI... 3
II.1 Pengolahan Citra Digital... 3
II.1.1 Sistem Warna... 3
II.1.2 Mengubah Citra Berwarna Menjadi Grayscale... 4
II.1.3 Thresholding... 5
II.2 Komunikasi Serial RS-232... 6
II.3 Mikrokontroler AT89S52... 7
II.4 Motor DC... 9
II.5 Microsoft Visual Basic 6.0... 10
II.5.1 Menu Bar... 10
II.6.1 Metode XtoGrayscale... 13
II.6.2 Metode Xthreshold... 14
BAB III PERANCANGAN DAN REALISASI... 15
III.1 Perangkat Keras... 16
III.1.1 Mikrokontroler... 16
III.1.2 Motor DC dan IC l293... 17
III.1.3 Personal Computer(PC)... 17
III.1.1 Kamera Web... 18
III.2 Perangkat Lunak... 18
III.2.1 Pengenalan Objek... 19
III.2.1.1 Pengambilan Citra... 20
III.2.1.2 Threshold... 20
III.2.1.3 Pengidentifikasian Objek... 21
III.2.1.4 Penentuan Posisi Objek... 21
III.2.2 Pengendalian Gerakan Kamera... 21
III.2.3 Perangkat Lunak pada Mikrokontroler... 22
III.3 Perancangan Antar Muka Pemakai(User Interface)... 23
BAB IV DATA PENGAMATAN DAN ANALISA... 26
IV.1 Pengujian Mikrokontroler... 26
IV.2 Pengujian Perangkat Lunak... 27
IV.2.1 Pengujian Penentuan Tinggi Objek... 27
IV.2.2 Pengujian Delay Waktu Respon Pergerakan Kamera... 29
IV.3 Pengujian Sistem... 29
BAB V KESIMPULAN DAN SARAN... 31
V.1 Kesimpulan... 31
DAFTAR GAMBAR
Gambar 2.1 Definisi Nilai Warna pada Citra... 4
Gambar 2.2 Sistem Warna RGB... 4
Gambar 2.3 Citra RGB ke Grayscale... 5
Gambar 2.4 Citra RGB ke Threshold... 6
Gambar 2.5 Rangkaian Mikrokontroler AT89S52... 8
Gambar 2.6 Motor DC... 9
Gambar 2.7 Tampilan Microsoft Visual Basic 6.0 ... 10
Gambar 3.1 Blok Diagram Sistem... 15
Gambar 3.2 Rangkaian Mikrokontroler... 17
Gambar 3.3 Blok Diagram Alir Sistem... 19
Gambar 3.4 Blok Diagram Alir Pengenalan Objek... 20
Gambar 3.5 Blok Diagram Alir Pengendalian Gerakan Kamera... 22
Gambar 3.6 Blok Diagram Alir Perangkat Lunak pada Mikrokontroler... 23
Gambar 3.7 Tampilan Form pada MS-Visual Basic... 24
DAFTAR TABEL
Tabel 2.1 Konfigurasi Pin pada Komunikasi Serial RS-232... 7
Tabel 2.2 Parameter Metode XToGrayscale... 13
Tabel 2.3 Parameter Metode XThreshold... 14
Tabel 3.1 Pin Input / Output pada Mikrokontroler... 16
Tabel 3.2 Objek dan Properti... 24
Tabel 4.1 Pengujian Mikrokontroler... 26
Tabel 4.2 Hasil pengujian mencari nilai tinggi pada boneka manusia setinggi 30 cm... 27
Tabel 4.3 Hasil pengujian mencari nilai tinggi pada boneka manusia setinggi 17 cm... 27
Tabel 4.4 Hasil pengujian mencari nilai tinggi pada boneka manusia setinggi 13 cm... 28
Tabel 4.5 Hasil pengujian mencari nilai tinggi pada gambar kucing setinggi 5,5 cm... 28
LAMPIRAN A
Program pada Mikrokontroler A-1
LISTING PROGRAM PADA MIKROKONTROLER
CLR Motor1A CLR Motor1B CLR Motor2A CLR Motor2B LCALL DELAY LJMP REPEAT
DELAY: MOV R2,#5
DELAY1: MOV R5,#20 DELAY2: MOV R6,#250 DJNZ R6,$
DJNZ R5,DELAY2 DJNZ R2,DELAY1 RET
Listing Program Pada Microsoft Visual Basic 6.0
Dim CapTinggi, CapLebar As Integer Dim baru As Boolean
Option Explicit
‘Proses-proses yang terjadi selama cam aktif Private Sub CaptureThreadTimer_Timer() Dim todisplay, num As Long
Dim mi, ma, move As Integer
Dim i, j, Y1, Y2, X1, X2, nilai, tinggi, lebar As Integer Dim R As Integer, G As Integer, B As Integer
XVideoOCX.XSetTextStyle "arial", 22, 0, 0, 255
' Until the Stop button is pushed If XVideoOCX.XIsStarted Then ' Try to capture an image
If (XVideoOCX.XCapture(GV_Image) = True) Then todisplay = GV_Image
If GV_MirrorImage = True Then XVideoOCX.XMirror todisplay, 0 End If
End If
If Y1 + (tinggi / 2) > 112 Then For i = 0 To 20
MSComm1.Output = "2" Next i
MSComm1.Output = "9" End If
End If End If End If End Sub
Private Sub CloseButton_Click() StopButton_Click
XVideoOCX.XClose
XVideoOCX.XReleaseImageHandle (GV_Image) End Sub
Private Sub Command3_Click() Dim inputs As Long
inputs = XVideoOCX.XGetVideoInputCount GV_InputChannel = GV_InputChannel + 1 If GV_InputChannel > inputs Then
GV_InputChannel = inputs End If
End Sub
Private Sub Command1_Click() 'untuk menginisialisasi gambar yang akan di scan baru = True
End Sub
Private Sub Form_Load() PreviewCheck.Value = 1
GV_InputChannel = 0 GV_TextOverlay = False GV_Primitives = False GV_Color = False GV_Format = True GV_Edges = False GV_Threshold = True GV_Invert = False
GV_ThresholdValue = 55 GV_Motion = False GV_MovieOut = True GV_ImageOut = False GV_ClipboardOut = False GV_Save = False
GV_OutputInitialized = False GV_OverlayImage = False GV_MirrorImage = False
GV_Image = 0 GV_TmpImage = 0
GV_OutputHandle = XVideoOCX.XCreateOutput(0) GV_OverlayImageHandle = 0
GV_OverlayImageHandle = XVideoOCX.XLoadImage("overlay.bmp")
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1" MSComm1.InputLen = 0
MSComm1.PortOpen = True
'belum ada bentuk baru yang jadi acuan / belum ada yang di inisialisasi baru = False
If GV_OverlayImageHandle = 0 Then MsgBox ("Could not find overlay image") End If
End Sub
Private Sub InitButton_Click() XVideoOCX.XInit
ResolutionLabel = "(" & XVideoOCX.XGetWidth & "," & XVideoOCX.XGetHeight & ")"
End Sub
Private Sub StartButton_Click() Dim bitdepth As Long
Else
bitdepth = 8 End If
' This is the main image that will be used for capture GV_Image = XVideoOCX.XGetImageHandle(bitdepth)
' This is just a temporary image that will be used if we do image processing GV_TmpImage = XVideoOCX.XGetImageHandle(bitdepth)
' Start the internal capture XVideoOCX.Xstart
' Start the Capture timer
' The image capture could also be done in a thread or ' just call XCapture whenever you need an image CaptureThreadTimer.Enabled = True
CaptureThreadTimer.Interval = 10
' Start the timer to display the framerate every second. Just for information purposes. Timer0.Enabled = True
Timer0.Interval = 500 End Sub
Private Sub StopButton_Click() ' Stop internal capture loop. XVideoOCX.XStop
XVideoOCX.XReleaseImageHandle (GV_Image) GV_Image = 0
CaptureThreadTimer.Enabled = False
' Kill the framerate display timer. Timer0.Enabled = False
' Remember some flags. GV_Format = False End Sub
Private Sub Timer0_Timer()
If XVideoOCX.XIsStarted() Then
FPSLabel = XVideoOCX.XGetAverageFrameRate() End If
End Sub
Private Sub VideoMode_Click() XVideoOCX.XSetInputMode (0) End Sub
Private Sub XVideoOCX_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MoveLabel.Caption = "(" & (X * 1 / Screen.TwipsPerPixelX) & "," & (Y * 1 / Screen.TwipsPerPixelX) & ")"
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
MSComm1.Output = "9" End Sub
Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MSComm1.Output = "1" 'atas End Sub
Private Sub Picture2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
MSComm1.Output = "9" End Sub
Private Sub Picture3_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MSComm1.Output = "2" 'bawah End Sub
Private Sub Picture3_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
MSComm1.Output = "9" End Sub
Private Sub Picture4_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Private Sub Picture4_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
MSComm1.Output = "9" End Sub
Module1.bas
Global GV_OutputHandle As Long Global GV_TmpImage As Long Global GV_Image As Long
Global GV_OverlayImageHandle As Long
Global GV_Save As Boolean
Global GV_OutputInitialized As Boolean Global GV_Format As Boolean
Global GV_Color As Boolean Global GV_InputChannel As Long
LAMPIRAN B
Foto Alat B-1
LAMPIRAN C
Datasheet AT89S52
C - 1
Datasheet MAX232
C - 16
BAB I
PENDAHULUAN
I.1 Latar Belakang
Sensor untuk sistem keamanan dengan menggunakan pendeteksi infra red dalam prakteknya sering terjadi kesalahan pendeteksian ( false alarm). Hal ini disebabkan karena infra red hanya mendeteksi panas tubuh suatu objek, sehingga sering terjadi kesalahan dalam membedakan objek manusia dan hewan.
Berdasarkan hal tersebut, pada tugas akhir ini dirancang suatu sistem pendeteksian yang lebih spesifik dibandingkan dengan pendeteksi infra red dalam mengidentifikasi objek manusia dalam hal parameter tinggi dengan memanfaatkan teknologi pengolahan citra yang menggunakan kamera web sebagai sensor.
I.2 Identifikasi Masalah
Bagaimana cara mendeteksi pergerakan objek berdasarkan parameter tinggi dengan menggunakan kamera web?
I.3 Tujuan
Mendeteksi pergerakan objek berdasarkan parameter tinggi dengan menggunakan kamera web dengan membuat perangkat lunak melalui Microsoft Visual Basic 6.0.
I.4 Pembatasan Masalah
• Pergerakan objek berparameter tinggi disimulasikan dalam bentuk boneka manusia yang digerakkan.
• Objek yang di deteksi berupa bentuk siluet tinggi boneka manusia.
• Kamera hanya mengikuti pergerakan 1 objek boneka manusia yang diuji tingginya di atas 40 piksel pada jarak 55 cm.
• Sensor kamera mendapat cukup cahaya.
• Diimplementasikan dengan bahasa pemrograman Microsoft Visual Basic 6.0.
I.5 Sistematika Pembahasan
Sistematika pembahasan laporan tugas akhir ini disusun menjadi lima bab, yaitu sebagai berikut :
• Bab I : Pendahuluan
Bab ini membahas tentang latar belakang, identifikasi masalah, tujuan, pembatasan masalah, serta sistematika pembahasan.
• Bab II : Dasar Teori
Bab ini membahas tentang landasan teori mengenai sistem warna, image
processing, spesifikasi perangkat keras, dan Microsoft Visual Basic 6.0.
• Bab III : Perancangan dan Realisasi
Bab ini membahas tentang perancangan dan realisasi perangkat lunak
image processing dengan metode perbandingan tinggi dan perangkat keras
penggerak kamera.
• Bab IV : Data Pengamatan dan Analisa
Bab ini membahas pengamatan, pengujian, dan analisa data dari perangkat keras dan perangkat lunak yang telah dirancang dan direalisasikan.
• Bab V : Kesimpulan dan Saran
BAB V
KESIMPULAN DAN SARAN
V.1 Kesimpulan
1. Sistem yang dirancang dan direalisasikan berupa kamera yang mengikuti pergerakan objek boneka manusia dapat bekerja dengan baik dengan menggunakan parameter tinggi minimal 40 piksel pada jarak 55 cm dari kamera.
2. Rata-rata delay waktu respon pergerakan kamera dihitung dari mulai objek bergerak adalah 0,97 detik.
V.2 Saran
1. Untuk memperoleh hasil kerja pergerakan kamera yang lebih baik dan lebih cepat (kamera langsung bergerak bersamaan dengan perpindahan objek), maka mekanik dan sistem perlu dikembangkan.
DAFTAR PUSTAKA
[1]. Basuki, Achmad., Jozua F.Palandi, Fatchurrochman, Pengolahan Citra
Digital Menggunakan Visual Basic, Graha Ilmu, Yogyakarta, 2005.
[2]. Awcock, G.J, and Thomas, R, Applied Image Processing, Singapore: McGraw-Hill, Inc., 1996
[3]. Daryanto, Belajar Komputer Visual Basic, Yrama Widya, Bandung, 2003.
[4]. http://digilib.petra.ac.id/ads-cgi/viewer.pl/jiunkpe/s1/info/2004/jiunkpe-ns-s1-2004-26400129-4453-template-chapter3.pdf
[5]. http://duniaelektronika.blogspot.com/2007/09/mikrokontroller-at89s52.html
[6]. http://info.hobbyengineering.com/specs/TI-MAX232.pdf
[7]. http://www.elektro.undip.ac.id/transmisi/jun05/sudjadijun05.PDF [8]. http://www.futurlec.com/Others/L293.shtml
[9]. http://www.softpedia.com/progDownload/XVideoOCX-Download-
17103.html