• Tidak ada hasil yang ditemukan

Perancangan Pendeteksi Kedipan Mata Untuk Fungsi Klik Pada Mouse Melalui Kamera Web.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Pendeteksi Kedipan Mata Untuk Fungsi Klik Pada Mouse Melalui Kamera Web."

Copied!
29
0
0

Teks penuh

(1)

i

PERANCANGAN PENDETEKSI KEDIPAN MATA UNTUK

FUNGSI KLIK PADA MOUSE MELALUI KAMERA WEB

Daniel / 0722020

Email : b_aso_1989@hotmail.com

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha Jalan Prof. drg. Suria Sumantri, MPH 65, Bandung 40164, Indonesia

ABSTRAK

Dalam penggunaan Personal Computer (PC) dibutuhkan beberapa

perangkat, salah satunya adalah mouse. Mouse merupakan perangkat penting bagi pemakai untuk memberikan perintah-perintah pada PC. Akan tetapi, bagi

pemakai yang mempunyai kekurangan fisik (cacat) sehingga pemakai tidak dapat menggerakkan atau mengendalikan anggota tubuhnya kecuali mata, maka pemakai tersebut tidak dapat menggerakkan mouse. Oleh karena itu dibutuhkan suatu aplikasi yang dapat membantu pemakai tersebut untuk mengendalikan

mouse.

(2)

ii

Dari hasil uji coba untuk pemakai dengan bentuk mata yang berbeda-beda, program aplikasi dapat berfungsi dengan baik dengan tingkat keberhasilan rata-rata 80%. Jarak optimal mata pemakai ke kamera web adalah 30-35cm.

(3)

iii

DESIGN OF EYE BLINK DETECTION FOR MOUSE CLICK

FUNCTION THROUGH WEBCAM

Daniel / 0722020

Email : b_aso_1989@hotmail.com

Electrical Engineering Departement, Faculty of Engineering, Maranatha Christian University

Prof. drg. Suria Sumantri, MPH 65 Street, Bandung 40164, Indonesia

ABSTRACT

In using Personal Computer (PC) need some set of device and one of them is mouse. Mouse is an important device for the user to give commands to the PC. However, for users who have a disability such as in which the users cannot move or control parts of the body except the eyes, so they cannot control the mouse. It is needed an application to help those users to control the mouse.

(4)

iv

From the test results to the user with a different eye, application programs can function well with an average success rate of 80%. Optimal distance between the eyes and webcam are 30-35cm.

(5)

vii

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... iii

KATA PENGANTAR ... v

DAFTAR ISI ... vii

DAFTAR TABEL ... x

DAFTAR GAMBAR ... xi

BABI PENDAHULUAN 1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 2

1.3 Tujuan ... 2

1.4 Pembatasan Masalah... 2

1.5 Metodologi ... 2

1.6 Sistematika Penulisan ... 3

BABII LANDASANTEORI 2.1 Pengertian Citra ... 4

2.2 Dasar Warna ... 6

2.3 Konversi Citra Warna Ke Citra Biner ... 7

2.4 Kamera Web ... 9

2.5 Application Program Interface ... 10

2.6 Dynamic Link Library ... 11

2.6.1 Avicap32.dl ... 12

2.6.2 Kernel32.dll ... 13

2.6.3 User32.dll ... 13

2.6.3.1 Fungsi SendMessage... 14

(6)

viii

2.7 Class Module FastDrawing ... 16

2.7.1 Fungsi untuk mengambil data RGB ... 17

2.7.2 Fungsi untuk menyimpan data RGB pada suatu piksel ... 17

2.8 Class Module CMouseEvent ... 18

2.9 Visual Basic 6.0 Untuk Representasi Citra Digital ... 19

2.9.1 If…Then…Else Statement ... 20

2.9.1 For…Next Statement... 21

BABIII PERANCANGAN DAN REALISASI 3.1 Perancangan. ... 23

3.2 Setting Mata ... 26

3.3 Perbandingan Jumlah Piksel Hitam Citra ... 27

3.4 Form yang aplikasi dirancang ... 29

3.5 Klik Mouse ... 31

BABIV DATA PENGAMATAN DAN ANALISIS DATA 4.1 Setting Mata Untuk Referensi Terhadap Bentuk Mata Pemakai Yang Berbeda-beda. ... 32

4.1.1 Setting Mata Untuk Referensi Terhadap Pemakai Berkacamata dan Bermata Sedang. ... 34

4.1.2 Setting Mata Untuk Referensi Terhadap Pemakai Berkacamata dan Bermata Sipit. ... 34

4.1.3 Setting Mata Untuk Referensi Terhadap Pemakai Bermata Besar. ... 35

4.1.4 Setting Mata Untuk Referensi Terhadap Pemakai Bermata Sedang. ... 36

4.1.5 Setting Mata Untuk Referensi Terhadap Pemakai Bermata Sipit. ... 36

(7)

ix

4.3 Pengujian Jarak Mata Ke Kamera Web. ... 39 4.4 Pengujian Tingkat Keberhasilan Aplikasi ... 41 4.5 Analisa Data. ... 45

BABV KESIMPULAN DAN SARAN

5.1 Kesimpulan. ... 46 5.2 Saran. ... 46

DAFTAR PUSTAKA. ... 47

(8)

x

DAFTAR TABEL

Tabel 2.1 Tabel Fungsi mouse_event ... 15

Tabel 3.1 Keterangan-Keterangan Objek GUI Dalam Aplikasi ... 30

Tabel 4.1 Hubungan Nilai Variabel x Dengan Sentivitas ... 37

Tabel 4.2 Hubungan Nilai Variabel y Dengan Sensitivitas ... 38

Tabel 4.3 Pengaruh Jarak Mata Ke Kamera Web Terhadap Tingkat Keberhasilan ... 39

Tabel 4.4 Kode Mata dan Tipe Mata ... 41

Tabel 4.5 Hasil Pengujian dan Tingkat Keberhasilan Aplikasi (Normal / Default Settings) ... 42

(9)

xi

DAFTAR GAMBAR

Gambar 2.1 Citra Digital ... 5

Gambar 2.2 Ruang Warna RGB ... 7

Gambar 2.3 Citra Biner ... 8

Gambar 2.4 Kamera Web Logitech QuickCam Pro For Notebook... 9

Gambar 2.5 IDE Visual Basic ... 19

Gambar 3.1 Diagram Blok ... 22

Gambar 3.2 Diagram Alir Keseluruhan ... 23

Gambar 3.3 Kotak Panduan Pada Aplikasi ... 24

Gambar 3.4 Empat Citra Biner Yang Ditangkap Secara Real Time ... 24

Gambar 3.5 Aplikasi Kamera Web... 25

Gambar 3.6 Diagram Alir Subrutin Setting Mata ... 26

Gambar 3.7 Diagram Alir Subrutin Perbandingan Jumlah Piksel Hitam Citra ... 28

Gambar 3.8 Form Aplikasi Yang Dirancang ... 29

Gambar 4.1 Bentuk-Bentuk Mata Pemakai Pada Uji Coba ... 33

Gambar 4.2 Pemakai Berkacamata dan Bermata Sedang ... 34

Gambar 4.3 Pemakai Berkacamata dan Bermata Sipit ... 35

Gambar 4.4 Pemakai Bermata Besar ... 35

Gambar 4.5 Pemakai Bermata Sedang ... 36

Gambar 4.6 Pemakai Bermata Sipit ... 37

Gambar 4.7 Penggunaan aplikasi pada saat jarak 30cm ... 40

Gambar 4.8 Penggunaan aplikasi pada saat jarak 35cm ... 40

Gambar 4.9 Kamera Web Terkena Banyak Cahaya Dan Pengaturan Aplikasi Kamera Web Normal (Default Settings) ... 44

(10)

(11)

A-1 1. Listing Program Utama

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private mCapHwnd As Long

Private Const CONNECT As Long = 1034 Private Const DISCONNECT As Long = 1035 Private Const GET_FRAME As Long = 1084 Private Const COPY As Long = 1054

Dim continue As Boolean

Private m_Mouse As CMouseEvent

Dim i As Integer, j As Integer

Dim r As Integer, G As Integer, B As Integer, L As Long Dim X As Long, Y As Long

Dim hitam9 As Integer, hitam10 As Integer

Dim hitam1 As Integer, hitam2 As Integer, hitam3 As Integer, hitam4 As Integer, hitam5 As Integer, hitam6 As Integer, hitam7 As Integer, hitam8 As Integer Dim totalhitam As Long

Option Explicit

Dim fDraw As New FastDrawing Dim ImageData() As Byte

Dim Rb As Long, Gb As Long, Bb As Long Dim lebarFot As Long, tinggiFot As Long Dim QuickX As Long

Dim z As Integer

Sub STARTCAM() 'Memulai kamera untuk mengambil gambar

mCapHwnd = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 320, 240, Me.hWnd, 0)

DoEvents

(12)

A-2

Sub STOPCAM() ' untuk memberhentikan kamera DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0 End Sub

TOMBOL STARTCAM

Private Sub cmdstart_Click() ' STARTCAM STARTCAM

Timer2.Enabled = False End Sub

TOMBOL CAPTURE

Private Sub cmdcapture_Click() ' CAPTURE Timer2.Enabled = True

(13)

A-3

TOMBOL TUTUP MATA PADA SETTING MATA Private Sub Command2_Click()

Set m_Mouse = New CMouseEvent 'z = 0

Text1.BackColor = &H8000000F End Sub

TIMER 1

Private Sub Timer1_Timer()

SendMessage mCapHwnd, GET_FRAME, 0, 0 SendMessage mCapHwnd, COPY, 0, 0 Picture1(0).Picture = Clipboard.GetData Image1(0).Picture = Picture1(0).Picture End Sub

TIMER 2

Private Sub Timer2_Timer()

(14)

A-4 For i = 1 To 4 Step 1

Dim ImageData() As Byte

Dim Rb As Long, Gb As Long, Bb As Long Dim lebarFot As Long, tinggiFot As Long Dim QuickX As Long

'Picture diambil nilai RGB nya

lebarFot = fDraw.GetImageWidth(Picture1(0))

'picture menjadi hitam putih (biner)

fDraw.SetImageData2D Picture1(0), lebarFot, tinggiFot, ImageData(), False Image1(0).Picture = Picture1(0).Picture

Picture1(i).Picture = Picture1(0).Picture Picture1(i).Height = shp1(0).Height Picture1(i).Width = shp1(0).Width Picture1(i).Refresh

Picture1(i).PaintPicture Picture1(0).Image, 0, 0, shp1(0).Width, shp1(0).Height, shp1(0).Left, shp1(0).Top, shp1(0).Width, shp1(0).Height, vbSrcCopy

lebarFot = fDraw.GetImageWidth(Picture1(i))

(15)
(16)

A-6

(17)

A-7

2. Listing Program Class Module CMouseEvent

Option Explicit

Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dX As Long, ByVal dY As Long, ByVal dwData As Long, ByVal dwExtraInfo As Long)

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

' Flags used with mouse_event

Private Const MOUSEEVENTF_ABSOLUTE = &H8000& ' absolute move Private Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down Private Const MOUSEEVENTF_LEFTUP = &H4 ' left button up

Private Const MOUSEEVENTF_MIDDLEDOWN = &H20 ' middle button down Private Const MOUSEEVENTF_MIDDLEUP = &H40 ' middle button up Private Const MOUSEEVENTF_MOVE = &H1 ' mouse move

Private Const MOUSEEVENTF_RIGHTDOWN = &H8 ' right button down Private Const MOUSEEVENTF_RIGHTUP = &H10 ' right button up Private Const MOUSEEVENTF_WHEEL = &H800 ' wheel button rolled

' A few module level variables... Private m_ClickDelay As Long

' *********************************************************** ' Initialize

' *********************************************************** Private Sub Class_Initialize()

' Default duration for mousedown m_ClickDelay = 250 'milliseconds End Sub

' *********************************************************** ' Public Properties

' *********************************************************** Public Property Let ClickDelay(ByVal NewVal As Long)

(18)

A-8 End Property

Public Property Get ClickDelay() As Long ClickDelay = m_ClickDelay

End Property Public Sub Click()

' Click the mouse, with delay to simulate human timing. Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) If m_ClickDelay Then

DoEvents ' allow down position to paint Call Sleep(m_ClickDelay)

End If

Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) End Sub

3. Listing Program ClassModule FastDrawing Option Explicit

'Call to transfer an object's properties into a custom variable

Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, ByRef lpObject As Any) As Long

(19)

A-9

'Extended header for 8-bit images Private Type BITMAPINFO

bmHeader As BITMAPINFOHEADER bmColors(0 To 255) As RGBQUAD End Type

'Used to ensure quality stretching of color images

Private Declare Function SetStretchBltMode Lib "gdi32" (ByVal hdc As Long, ByVal nStretchMode As Long) As Long

'DIB section interfaces

Private Declare Function GetDIBits Lib "gdi32" (ByVal hdc As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long Private Declare Function StretchDIBits Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal dX As Long, ByVal dY As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal SrcWidth As Long, ByVal SrcHeight As Long, lpBits As Any, lpBitsInfo As BITMAPINFO, ByVal wUsage As Long, ByVal dwRop As Long) As Long

'Get the image width (via API - always accurate, unlike PictureBox.ScaleWidth)

Public Function GetImageWidth(SrcPictureBox As PictureBox) As Long Dim bm As Bitmap

GetObject SrcPictureBox.Image, Len(bm), bm GetImageWidth = bm.bmWidth

End Function

'Get the image height (via API - always accurate)

Public Function GetImageHeight(SrcPictureBox As PictureBox) As Long Dim bm As Bitmap

GetObject SrcPictureBox.Image, Len(bm), bm GetImageHeight = bm.bmHeight

End Function

'Get the stream length of an image (via API - always accurate)

(20)

A-10 GetObject SrcPictureBox.Image, Len(bm), bm

GetImageStreamLength = (bm.bmWidth * (bm.bmHeight + 1)) * 3 End Function

'Get an image's pixel information into an array dimensioned (x * 3 + bgr, y), with the option to get it in its true orientation

Public Sub GetImageData2D(SrcPictureBox As PictureBox, ImageData() As Byte, Optional ByVal CorrectOrientation As Boolean = False)

Dim bm As Bitmap

'Get the picture box information

GetObject SrcPictureBox.Image, Len(bm), bm 'Build a correctly sized array

Erase ImageData()

'Generate a correctly-dimensioned array (for 2-dimensional access) Dim ArrayWidth As Long

ArrayWidth = (bm.bmWidth * 3) - 1

ArrayWidth = ArrayWidth + (bm.bmWidth Mod 4) '4-bit alignment ReDim ImageData(0 To ArrayWidth, 0 To bm.bmHeight) As Byte ReDim tmpData(0 To ArrayWidth, 0 To bm.bmHeight) As Byte

'Create a temporary header to pass to the GetDIBits call Dim bmi As BITMAPINFO

bmi.bmHeader.bmWidth = bm.bmWidth bmi.bmHeader.bmHeight = bm.bmHeight

bmi.bmHeader.bmSize = 40 'Size, in bytes, of the header

GetDIBits SrcPictureBox.hdc, SrcPictureBox.Image, 0, bm.bmHeight, ImageData(0, 0), bmi, 0

Else

GetDIBits SrcPictureBox.hdc, SrcPictureBox.Image, 0, bm.bmHeight, tmpData(0, 0), bmi, 0

End If

'This code is to orient the image data correctly in the array (i.e. (0,0) as top-left, (max,max) as bottom right)

' (if this option is enabled, we must set the DIB height to negative in the SetImageData routine below)

(21)

A-11

'Set an image's pixel information from an array dimensioned (x * 3 + bgr, y) Public Sub SetImageData2D(DstPictureBox As PictureBox, OriginalWidth As Long, OriginalHeight As Long, ImageData() As Byte, Optional ByVal CorrectOrientation As Boolean = False)

Dim bm As Bitmap

'Get the picture box information

GetObject DstPictureBox.Image, Len(bm), bm

'Create a temporary header to pass to the StretchDIBits call Dim bmi As BITMAPINFO

bmi.bmHeader.bmWidth = OriginalWidth If CorrectOrientation = False Then 'Assume color images and set the corresponding best stretch mode

SetStretchBltMode DstPictureBox.hdc, 3&

'Send the array to the picture box and draw it accordingly

(22)

A-12

'Since this doesn't automatically initialize AutoRedraw, we have to do it manually

If DstPictureBox.AutoRedraw = True Then DstPictureBox.Picture = DstPictureBox.Image DstPictureBox.Refresh

'Get an image's pixel information into an array dimensioned (r/g/b, x, y) Public Sub GetImageData(SrcPictureBox As PictureBox, ImageData() As Byte) Dim bm As Bitmap

'Get the picture box information

GetObject SrcPictureBox.Image, Len(bm), bm 'Build a correctly sized array

Erase ImageData()

ReDim ImageData(0 To 2, 0 To bm.bmWidth - 1, 0 To bm.bmHeight - 1) 'Create a temporary header to pass to the GetDIBits call

Dim bmi As BITMAPINFO

bmi.bmHeader.bmWidth = bm.bmWidth bmi.bmHeader.bmHeight = bm.bmHeight

bmi.bmHeader.bmSize = 40 'Size, in bytes, of the header

bmi.bmHeader.bmPlanes = 1 'Number of planes (always one for this instance)

bmi.bmHeader.bmBitCount = 24 'Bits per pixel (always 24 for this instance) bmi.bmHeader.bmCompression = 0 'Compression :standard/none or RLE

'Get the image data into our array

GetDIBits SrcPictureBox.hdc, SrcPictureBox.Image, 0, bm.bmHeight, ImageData(0, 0, 0), bmi, 0

End Sub

'Set an image's pixel information from an array dimensioned (r/g/b, x, y) Public Sub SetImageData(DstPictureBox As PictureBox, OriginalWidth As Long, OriginalHeight As Long, ImageData() As Byte)

Dim bm As Bitmap

'Get the picture box information

GetObject DstPictureBox.Image, Len(bm), bm

'Create a temporary header to pass to the StretchDIBits call Dim bmi As BITMAPINFO

bmi.bmHeader.bmWidth = OriginalWidth bmi.bmHeader.bmHeight = OriginalHeight

(23)

A-13

'Assume color images and set the corresponding best stretch mode SetStretchBltMode DstPictureBox.hdc, 3&

'Send the array to the picture box and draw it accordingly

StretchDIBits DstPictureBox.hdc, 0, 0, bm.bmWidth, bm.bmHeight, 0, 0, OriginalWidth, OriginalHeight, ImageData(0, 0, 0), bmi, 0, vbSrcCopy

'Since this doesn't automatically initialize AutoRedraw, we have to do it manually

If DstPictureBox.AutoRedraw = True Then DstPictureBox.Picture = DstPictureBox.Image DstPictureBox.Refresh

'Get an image's pixel data into a one-dimesional array (stream)

Public Sub GetImageDataStream(SrcPictureBox As PictureBox, ImageData() As Byte)

Dim bm As Bitmap

'Get the picture box information

GetObject SrcPictureBox.Image, Len(bm), bm

'Build a correctly sized array - in this case, designed as a stream Erase ImageData()

ReDim ImageData(0 To GetImageStreamLength(SrcPictureBox)) 'Create a temporary header to pass to the GetDIBits call Dim bmi As BITMAPINFO

bmi.bmHeader.bmWidth = bm.bmWidth bmi.bmHeader.bmHeight = bm.bmHeight

bmi.bmHeader.bmSize = 40 'Size, in bytes, of the header

GetDIBits SrcPictureBox.hdc, SrcPictureBox.Image, 0, bm.bmHeight, ImageData(0), bmi, 0

(24)

A-14

'Set an image's data from a one-dimensional array (stream)

Public Sub SetImageDataStream(DstPictureBox As PictureBox, OriginalWidth As Long, OriginalHeight As Long, ImageData() As Byte)

Dim bm As Bitmap

'Get the picture box information

GetObject DstPictureBox.Image, Len(bm), bm

'Create a temporary header to pass to the StretchDIBits call Dim bmi As BITMAPINFO

bmi.bmHeader.bmWidth = OriginalWidth bmi.bmHeader.bmHeight = OriginalHeight

bmi.bmHeader.bmSize = 40 'Size, in bytes, of the header

bmi.bmHeader.bmPlanes = 1 'Number of planes (always one for this instance)

bmi.bmHeader.bmBitCount = 24 'Bits per pixel (always 24 for this instance)

bmi.bmHeader.bmCompression = 0 'Compression :standard/none or RLE

'Send the array to the picture box and draw it accordingly

StretchDIBits DstPictureBox.hdc, 0, 0, bm.bmWidth, bm.bmHeight, 0, 0, OriginalWidth, OriginalHeight, ImageData(0), bmi, 0, vbSrcCopy

'Since this doesn't automatically initialize AutoRedraw, we have to do it manually

If DstPictureBox.AutoRedraw = True Then DstPictureBox.Picture = DstPictureBox.Image DstPictureBox.Refresh

End If

'Always good to manually halt for external processes after heavy API usage

(25)

1

Universitas Kristen Maranatha

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Dunia teknologi dan komputer sudah berkembang sangat pesat. Aplikasi komputer kini juga tidak hanya diterapkan dalam dunia industri tetapi juga dalam dunia hiburan, sosial, bisnis, politik dan keamanan. Salah satunya yang paling sering digunakan adalah Personal Computer (PC), terutama oleh masyarakat awam.

Pada Personal Computer, penghubung antara pengguna dengan mesin adalah bagian yang sangat penting. Mouse merupakan salah satunya yang berperan untuk menggerakkan kursor yang sangat dibutuhkan untuk memberikan perintah pada PC. Kebutuhan-kebutuhan akan penggerak kursor ini pun semakin beragam, antara lain untuk menggerakkan kursor dari jarak jauh misalnya untuk bermain game, menggunakan aplikasi-aplikasi dari PC (word, powerpoint, excel, dll). Untuk pemakai yang menyandang cacat ALS (Lou Gehrig’s disease) atau

multiple sclerosis dimana pemakai tidak dapat menggerakkan atau mengendalikan

anggota tubuhnya kecuali mata. Dengan demikian dibutuhkan aplikasi yang dapat membantu pemakai tersebut untuk mengendalikan kursor.

Kemajuan di bidang teknologi optikal khusunya webcam (kamera web) dapat dimanfaatkan sebagai sarana untuk fungsi klik pada mouse. Hal ini dikarenakan webcam (kamera web) dapat digunakan sebagai indera penglihatan untuk komputer karena bisa menangkap objek di depan kamera sebagai citra. Citra tersebut dapat diolah di dalam komputer dengan memanfaatkan teknologi pengolahan citra serta pemrograman aplikasi, sehingga dapat digunakan untuk melakukan fungsi klik pada mouse.

(26)

Bab I Pendahuluan 2

Universitas Kristen Maranatha

1.2 Perumusan Masalah

Permasalahan yang akan dibahas dalam Tugas Akhir ini meliput:

Bagaimana algoritma untuk mendeteksi kedipan mata yang digunakan untuk menggantikan fungsi klik pada mouse.

1.3 Tujuan

Membuat aplikasi untuk melakukan fungsi klik pada mouse dengan kedipan mata melalui kamera web.

1.4 Pembatasan Masalah

1. Aplikasi program ini hanya dapat digunakan untuk melakukan fungsi klik kiri pada tombol mouse.

2. Hanya dapat digunakan pada keadaan cahaya yang masuk ke kamera web cukup (tidak terlalu terang dan tidak terlalu gelap).

3. Jarak mata dengan kamera web dibatasi antara 25 cm sampai 35 cm. 4. Program ini direalisasikan dalam Visual Basic 6.0.

5. Masih memakai kotak panduan untuk mengetahui letak posisi mata. 6. Proses klik kiri mouse terjadi ketika sedang tutup mata.

1.5 Metodologi

(27)

Bab I Pendahuluan 3

Universitas Kristen Maranatha

1.6 Sistematika Penulisan

Penyusunan laporan Tugas Akhir terdiri dari lima bab sebagai berikut:

 BAB I. PENDAHULUAN

Pada bab ini dibahas mengenai latar belakang, perumusan masalah, tujuan, pembatasan masalah, metodologi, dan sistematika penulisan.

 BAB II. LANDASAN TEORI

Pada bab ini berisi teori dasar dari pengertian citra, dasar warna, pengolahan citra digital, mouse, kamera web, application program

interface, dynamic link library, Class Module FastDrawing, Class

Module CmouseEvent, serta Visual Basic 6.0 untuk representasi citra digital.

 BAB III. PERANCANGAN dan REALISASI

Pada bab ini berisi perancangan, penjelasan, serta diagram alir dari program yang telah dibuat.

 BAB IV. DATA PENGAMATAN dan ANALISA

Pada bab ini berisi pengujian program, data pengamatan serta analisis dari program yang telah dibuat.

 BAB V. KESIMPULAN dan SARAN

(28)

46

Universitas Kristen Maranatha

BAB V

KESIMPULAN DAN SARAN

Bab ini merupakan bab penutup yang berisi kesimpulan analisa dari Tugas Akhir yang berjudul “Perancangan Pendeteksi Kedipan Mata Untuk Fungsi Klik Pada Mouse Melalui Kamera Web”.

5.1 KESIMPULAN

1. Pada Tugas Akhir ini, program aplikasi dapat direalisasikan dan berfungsi dengan baik dengan persentase keberhasilan rata-rata 80%. 2. Persentase keberhasilan melakukan fungsi klik dengan kedipan mata

lebih tinggi untuk pemakai program aplikasi ini yang mempunyai mata besar dibandingkan dengan yang berkacamata dan bermata sedang, berkacamata dan bermata sipit, bermata sedang, atau bermata sipit.

3. Jarak optimal dari mata ke kamera web adalah 35cm

5.2 SARAN.

1. Aplikasi ini dapat dikembangkan sehingga tidak memerlukan kotak panduan untuk mengetahui letak posisi mata.

(29)

47 Universitas Kristen Maranatha

DAFTAR PUSTAKA

1.

Hestiningsih,

Idhawati.

2009,

Pengolahan

Citra,

http://images.moedy9.multiply.multiplycontent.com/attachmen

t/0/SMuuNwoKCBkAAHPHjZk1/Pengolahan%20Citra.pdf?n

mid=115281461

2.

Munir, Rinaldi. 2004. Pengolahan Citra Digital dengan

Pendekatan Algoritmik. Bandung : Informatika.

3.

Pearson, Don. 1991. Image Processing. Singapore :

McGraw-Hill Book.

4.

http://en.wikipedia.org/wiki/Application_programming_interfa

ce

5.

http://en.wikipedia.org/wiki/Dynamic-link_library

6.

http://en.wikipedia.org/wiki/Webcam

7.

http://msdn.microsoft.com/en-us/library/default.aspx

8.

http://www.mvps.org/vb

9.

M.Chau, M. Betke. 2005. Real Time Eye Tracking and Blink

Detection with USB Cameras. Boston University : Computer

Referensi

Dokumen terkait

Dapatan kajian menunjukkan persepsi wanita Islam luar bandar terhadap iklan di televisyen berada pada tahap min yang tinggi iaitu dengan nilai min 3.67, diikuti dengan persepsi wanita

Indonesia sebagai negara yang sedang berkembang tentunya tidak terlepas dari pengaruh perkembangan zaman yang sudah mendunia. Dimana perkembangan yang terjadi sudah

iv. pihak-pihak yang tercantum dalam daftar nama-nama teroris. Rincian orang, bidang usaha, dan negara yang termasuk dalam tingkat risiko tinggi adalah sebagaimana

Dari uraian-uraian di muka, dapat ditarik kesimpulan: (1) Semua KD mata pelajaran IPA untuk siswa kelas VIII SMP semester 1 dan semester 2 dapat digunakan

yang digunakan untuk mengaplikasikan metode In The News untuk meningkatkan kemampuan literasi informasi siswa dalam

Indikator keterbukaan merupakan ukuran seberapa jauh perekonomian suatu daerah berhubungan dengan daerah lain yang tercermin dari perdagangan daerah tersebut dengan daerah lain

Proses perancangan bangunan PAUD menggunakan pendekatan partisipasi dengan teknik mosaic approach (Clark and Moss, 2011) , dengan tujuan untuk menghasilkan rancangan

menentukan nilai p tetapi tidak mampu menentukan panjag, lebar dan keliling persegi panjang ABCD2. Siswa mampu menentukan nilai p, panjang, lebar dan keliling persegi