• Tidak ada hasil yang ditemukan

Sistem Pengaman Pengemudi Anti Kantuk - UMG REPOSITORY

N/A
N/A
Protected

Academic year: 2024

Membagikan "Sistem Pengaman Pengemudi Anti Kantuk - UMG REPOSITORY"

Copied!
5
0
0

Teks penuh

(1)

29

LAMPIRAN

Lampiran 1 : Program Python

from scipy.spatial import distance from imutils import face_utils

from imutils.video import VideoStream, FPS import numpy as np

import imutils import dlib import cv2 import pygame import time import telebot

tb =

telebot.TeleBot("1132103732:AAE5HYmME4lj1B56kOYGmsU3MDxT8Ttnkw 0")

chat_id = "398755730"

pygame.mixer.init()

pygame.mixer.music.load('audio/alert.wav')

def eye_aspect_ratio(eye):

A = distance.euclidean(eye[1], eye[5]) B = distance.euclidean(eye[2], eye[4]) C = distance.euclidean(eye[0], eye[3]) ear = (A + B) / (2.0 * C)

return ear

counter=0 thresh = 0.3

(2)

30 frame_check = 3

detect = dlib.get_frontal_face_detector()

predict = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")

(lStart, lEnd) = face_utils.FACIAL_LANDMARKS_IDXS["left_eye"]

(rStart, rEnd) = face_utils.FACIAL_LANDMARKS_IDXS["right_eye"]

cap = VideoStream(src=0).start() filestream = False

fps= FPS().start() while True:

frame=cap.read()

frame = imutils.resize(frame, width=450)

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) subjects = detect(gray, 0)

for subject in subjects:

shape = predict(gray, subject)

shape = face_utils.shape_to_np(shape)#converting to NumPy Array leftEye = shape[lStart:lEnd]

rightEye = shape[rStart:rEnd]

leftEAR = eye_aspect_ratio(leftEye) rightEAR = eye_aspect_ratio(rightEye) ear = (leftEAR + rightEAR) / 2.0 leftEyeHull = cv2.convexHull(leftEye) rightEyeHull = cv2.convexHull(rightEye)

cv2.drawContours(frame, [leftEyeHull], -1, (0, 255, 0), 1) cv2.drawContours(frame, [rightEyeHull], -1, (0, 255, 0), 1) if ear < thresh:

counter += 1 print (counter)

if counter >= frame_check:

(3)

31 pygame.mixer.music.play(-1)

cv2.putText(frame, "Pengemudi Mengantuk", (150,200), cv2.FONT_HERSHEY_SIMPLEX, 1.5, (0,0,255), 2)

print('Mengantuk') frame2 = cap.read()

cv2.putText(frame2, "EAR: {:.2f}".format(ear), (300, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)

cv2.putText(frame2, "Pengemudi Mengantuk", (150,200), cv2.FONT_HERSHEY_SIMPLEX, 1.5, (0,0,255), 2)

time.sleep(.3)

img_name = "Mengantuk.png"

cv2.imwrite(img_name, frame2) print("terfoto")

try:

foto = open('Mengantuk.png', 'rb') tb.send_photo(chat_id, foto)

tb.send_message(chat_id, "Mengantuk") print("terkirim")

except Exception as e:

print(e) else:

pygame.mixer.music.stop() counter = 0

cv2.putText(frame, "EAR: {:.2f}".format(ear), (300, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)

cv2.imshow("Frame", frame) fps.update()

key = cv2.waitKey(1) & 0xFF if key == ord("q"):

(4)

32 cv2.destroyAllWindows()

fps.stop() cap.release() break

(5)

33

DAFTAR RIWAYAT HIDUP

A. Biodata Pribadi

1. Nama lengkap : Zam Zam Kharisma Abadi 2. Tempat/ tanggal lahir : Lamongan, 30-04-1997 3. Jenis Kelamin : Laki – laki

4. Kewarganegaraan : Indonesia 5. Tinggi, Berat badan : 165 cm, 45 kg

6. Agama : Islam

7. Status : Belum Menikah

8. Alamat : Dusun Senden RT.03 RW.04 Desa Glagah

Kec. Glagah - Lamongan

9. No. Telp : 085 645 139 255

10. Email : [email protected]

B. Riwayat Pendidikan

1. MI : MI Falakhiyah Glagah 2003-2009

2. SMP : SMP Negeri 1 Glagah 2009-2012

3. SMK : SMK Muhammadiyah 1 Gresik 2012-2015

4. Perguruan Tinggi : Universitas Muhammdiyah Gresik,

Program Studi Teknik Elektro S1 2016-2020

Referensi

Dokumen terkait

Guna memenuhi salah satu syarat untuk menyelesaikan program Sarjana jenjang pendidikan Strata-Satu (S1) pada Fakultas Teknik Program Studi Teknik Elektro

Laporan akhir ini dibuat untuk memenuhi persyaratan untuk menyelesaikan pendidikan Diploma III pada Jurusan Teknik Elektro Program Studi Teknik Listrik Politeknik

Sebuah skripsi yang diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik pada Program Studi S1 Teknik Elektro. © Hadyan Ramanda 2016 Universitas

Kurikulum 2016 Program Studi S1 Teknik Nuklir Departemen Teknik Nuklir dan Teknik Fisika, Fakultas Teknik, Universitas Gadjah Mada i Kurikulum 2016 Program Studi

Jurusan Pendidikan Teknik Elektro menyelenggarakan 3 Program Studi yaitu Pendidikan Teknik Elektro S1, Teknik Elektro D3 dan Pendidikan Teknik Mekatronika

Dari kondisi actual SMK SEMEN GRESIK khususnya kompetensi Teknik Instalasi Tenaga Listrik, maka Universitas Muhammadiyah Gresik, khususnya Program Studi Teknik Elektro memberikan

TELKOM RIVAI PALEMBANG SKRIPSI Disusun Untuk Memenuhi Kurikulum Tingkat Sarjana Strata Satu S1 Pada Program Studi Teknik Elektro Fakultas Teknik Universitas Tridinanti Palembang

PLN PERSERO TALANG RATU PALEMBANG SKRIPSI Diusun Untuk Memenuhi Syarat Mendapatkan Gelar Sarjana Strata-1 S1 Pada Program Studi Teknik Elektro Fakultas Teknik Universitas