save unknown & exception handling & performance

This commit is contained in:
HeshamTB 2018-12-04 17:21:15 +00:00
parent 7d37fa8d91
commit 3660a2e9eb

17
main.py
View File

@ -1,6 +1,7 @@
from time import sleep from time import sleep
from io import BytesIO from io import BytesIO
from PIL import Image
import os import os
import serial import serial
import sys import sys
@ -62,19 +63,27 @@ def start( camera, face_cascade):
for (x,y,w,h) in faces: for (x,y,w,h) in faces:
i += 1 i += 1
j += 1 j += 1
try:
roi_gray = gray[y:y+h, x:x+w] roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w] roi_color = img[y:y+h, x:x+w]
person = recognize(roi_gray, face_recognizer, names) person = recognize(roi_gray, face_recognizer, names)
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.putText(img, person, (x, y), cv2.FONT_HERSHEY_PLAIN, 1.7, (255, 0, 0), 2)
except:
print('[ Error ] Recognition fail')
if person == 'unknown': if person == 'unknown':
print('Found unknown person') print('Found unknown person')
try:
RGBImage = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
image = Image.fromarray(RGBImage)
image.save('lastUnknown.png')
except:
print('[ Error ] Saving unkown fail')
else: else:
print('Found '+person) print('Found '+person)
OpenShifter() OpenShifter()
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.putText(img, person, (x, y), cv2.FONT_HERSHEY_PLAIN, 1.7, (255, 0, 0), 2)
cv2.imshow('image',img) cv2.imshow('image',img)
cv2.waitKey(100) cv2.waitKey(1)
rawCapture.truncate(0) rawCapture.truncate(0)
if cv2.waitKey(1) & 0xFF == ord('q'): if cv2.waitKey(1) & 0xFF == ord('q'):
cv2.destroyAllWindows() cv2.destroyAllWindows()