Finalized the code.
This commit is contained in:
parent
17e04d8029
commit
c3d1f605d7
7 changed files with 88225 additions and 102556 deletions
24
DBHelper.py
24
DBHelper.py
|
@ -111,71 +111,71 @@ def delete_thief_photo(user_photo):
|
|||
|
||||
# Motor signal getter
|
||||
def get_motor():
|
||||
motor = db.child("signal").child("1").child("motor").get().val()
|
||||
motor = db.child("signal").child("motor").get().val()
|
||||
return motor
|
||||
|
||||
|
||||
# Motor signal setter
|
||||
def set_motor(motor):
|
||||
db.child("signal").child("1").child("motor").set(motor)
|
||||
db.child("signal").child("motor").set(motor)
|
||||
|
||||
|
||||
# Alarm signal getter
|
||||
def get_alarm():
|
||||
alarm = db.child("signal").child("1").child("alarm").get().val()
|
||||
alarm = db.child("signal").child("alarm").get().val()
|
||||
return alarm
|
||||
|
||||
|
||||
# Alarm signal setter
|
||||
def set_alarm(alarm):
|
||||
db.child("signal").child("1").child("alarm").set(alarm)
|
||||
db.child("signal").child("alarm").set(alarm)
|
||||
|
||||
|
||||
# Power signal getter
|
||||
def get_power():
|
||||
alarm = db.child("signal").child("1").child("power").get().val()
|
||||
alarm = db.child("signal").child("power").get().val()
|
||||
return alarm
|
||||
|
||||
|
||||
# Power signal setter
|
||||
def set_power(power):
|
||||
db.child("signal").child("1").child("power").set(power)
|
||||
db.child("signal").child("power").set(power)
|
||||
|
||||
|
||||
# Returns the first name or else an empty string.
|
||||
def get_signal_firstname():
|
||||
firstname = db.child("signal").child("2").child("First Name").get().val()
|
||||
firstname = db.child("signal_2").child("First Name").get().val()
|
||||
return firstname
|
||||
|
||||
|
||||
# Returns the last name or else an empty string.
|
||||
def get_signal_lastname():
|
||||
lastname = db.child("signal").child("2").child("Last Name").get().val()
|
||||
lastname = db.child("signal_2").child("Last Name").get().val()
|
||||
return lastname
|
||||
|
||||
|
||||
# Returns the e-mail or else an empty string.
|
||||
def get_signal_email():
|
||||
email = db.child("signal").child("2").child("E-Mail").get().val()
|
||||
email = db.child("signal_2").child("E-Mail").get().val()
|
||||
return email
|
||||
|
||||
|
||||
# Returns the phone or else an empty string.
|
||||
def get_signal_phone():
|
||||
phone = db.child("signal").child("2").child("Phone").get().val()
|
||||
phone = db.child("signal_2").child("Phone").get().val()
|
||||
return phone
|
||||
|
||||
|
||||
# Returns the address or else an empty string.
|
||||
def get_signal_address():
|
||||
address = db.child("signal").child("2").child("Address").get().val()
|
||||
address = db.child("signal_2").child("Address").get().val()
|
||||
return address
|
||||
|
||||
|
||||
# Uploads the data of user input into firebase.
|
||||
def upload_signal_data(firstname, lastname, email, phone, address):
|
||||
data = {"First Name": firstname, "Last Name": lastname, "E-Mail": email, "Phone": phone, "Address": address}
|
||||
db.child("signal").child("2").set(data)
|
||||
db.child("signal_2").set(data)
|
||||
|
||||
|
||||
# Removes the inputs.
|
||||
|
|
|
@ -8,7 +8,6 @@ import Facial_Recognition_Render as fr
|
|||
import _pickle as cPickle
|
||||
import glob
|
||||
import DBHelper
|
||||
import Hardware.Updated_HW_codes.NewMotorFunc # Line 225-228
|
||||
|
||||
faceWidth = 320
|
||||
faceHeight = 320
|
||||
|
@ -200,7 +199,9 @@ def face_recognition_inference(rec_type):
|
|||
landmarks = fr.getLandmarks(faceDetector, landmarkDetector, im)
|
||||
landmarks = np.array(landmarks)
|
||||
|
||||
while len(landmarks) == 68:
|
||||
cond = False
|
||||
|
||||
if len(landmarks) == 68:
|
||||
x1Limit = landmarks[0][0] - (landmarks[36][0] - landmarks[0][0])
|
||||
x2Limit = landmarks[16][0] + (landmarks[16][0] - landmarks[45][0])
|
||||
y1Limit = landmarks[27][1] - 3 * (landmarks[30][1] - landmarks[27][1])
|
||||
|
@ -223,22 +224,28 @@ def face_recognition_inference(rec_type):
|
|||
text = '{} {}%'.format(labelsMap[predictedLabel], round(score, 5))
|
||||
cv2.rectangle(original, (x1, y1), (x2, y2), (0, 255, 0), 5)
|
||||
cv2.putText(original, text, (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 255, 0), 3)
|
||||
cond = True
|
||||
|
||||
if cond:
|
||||
DBHelper.set_motor("on")
|
||||
Hardware.Updated_HW_codes.NewMotorFunc.Motor.start_motor()
|
||||
DBHelper.set_alarm("on")
|
||||
Hardware.Updated_HW_codes.NewMotorFunc.Motor.start_alarm()
|
||||
DBHelper.set_alarm("off")
|
||||
else:
|
||||
DBHelper.set_motor("off")
|
||||
DBHelper.set_alarm("on")
|
||||
|
||||
cv2.imshow('Face Recognition Demo', original)
|
||||
|
||||
k = cv2.waitKey(10)
|
||||
|
||||
DBHelper.set_alarm("off")
|
||||
DBHelper.set_motor("off")
|
||||
cam.release()
|
||||
cv2.destroyAllWindows()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
mode = 'test'
|
||||
rec_type = 'Fisher' # 'LBPH' 'Fisher' 'Eigen'
|
||||
rec_type = 'LBPH' # 'LBPH' 'Fisher' 'Eigen'
|
||||
|
||||
if mode == 'train':
|
||||
training_recognizer(rec_type)
|
||||
|
|
File diff suppressed because it is too large
Load diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -32,8 +32,8 @@ def start():
|
|||
print("Success.")
|
||||
except:
|
||||
print("No Thieves are registered.")
|
||||
Facial_Recognition_Wrapper.training_recognizer("Fisher")
|
||||
Facial_Recognition_Wrapper.face_recognition_inference("Fisher")
|
||||
Facial_Recognition_Wrapper.training_recognizer("LBPH")
|
||||
Facial_Recognition_Wrapper.face_recognition_inference("LBPH")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
Loading…
Reference in a new issue