Compare commits

..

6 Commits

Author SHA1 Message Date
fb84cf1bb5 Formatting 2019-01-22 20:28:13 +03:00
a82b98154f Parenthases 2019-01-18 02:30:19 +03:00
4441616ef1 futre function 2018-12-12 21:59:05 +03:00
96c2d4ccc3 semi colon 2018-12-12 21:56:33 +03:00
00b476ee0b Merge branch 'master' of https://heshamgit.ddns.net/Hesham/FaceRecognition-python 2018-12-12 21:35:56 +03:00
c43128f6f5 Update 'README.md' 2018-12-12 21:16:24 +03:00
3 changed files with 113 additions and 106 deletions

View File

@ -1 +1 @@
### Python code to run in Raspberry Pi with PiCamera to recognize certin faces and send a Serial signal 'o' to be received by arduino. ### Python code to run in Raspberry Pi with PiCamera to recognize certin faces.

View File

@ -64,7 +64,7 @@ def start( camera, face_cascade):
img = rawCapture.array img = rawCapture.array
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3,5) faces = face_cascade.detectMultiScale(gray, 1.3,5)
i = 0; i = 0
for (x,y,w,h) in faces: for (x,y,w,h) in faces:
i += 1 i += 1
j += 1 j += 1
@ -110,6 +110,8 @@ def recognize(image,face_recognizer, names):
print(str(label) + ' >>'+names[label[0]]) print(str(label) + ' >>'+names[label[0]])
return names[label[0]] return names[label[0]]
#def DrawSquares(image,gray,faces,color):
def OpenShifter(): def OpenShifter():
try: try:
ser = serial.Serial('/dev/ttyUSB0',9600) ser = serial.Serial('/dev/ttyUSB0',9600)

View File

@ -7,10 +7,10 @@ import os
import sys import sys
import json import json
picCount = 0 picCount = 0
new = False new = False
def start(): def start():
print('Starting training..') print('Starting training..')
label = int(input('Label (Integer): ')) label = int(input('Label (Integer): '))
@ -32,12 +32,14 @@ def start():
addPerson(label, newFileName, oldFileName) addPerson(label, newFileName, oldFileName)
addName(name) addName(name)
def clearTrainFolder(): def clearTrainFolder():
print('clearing train folder') print('clearing train folder')
filelist = [f for f in os.listdir('train/') if f.endswith(".jpg")] filelist = [f for f in os.listdir('train/') if f.endswith(".jpg")]
for f in filelist: for f in filelist:
os.remove(os.path.join('train/', f)) os.remove(os.path.join('train/', f))
def addPerson(label, newFileName, oldFileName): def addPerson(label, newFileName, oldFileName):
try: try:
# faceFilePath = '/faces/hesham-saeed2' # faceFilePath = '/faces/hesham-saeed2'
@ -45,9 +47,9 @@ def addPerson(label, newFileName, oldFileName):
face_recognizer = cv2.createLBPHFaceRecognizer() face_recognizer = cv2.createLBPHFaceRecognizer()
global new global new
if new: if new:
print 'new file. skipping load function' print('new file. skipping load function')
else: else:
print 'loading old file' print('loading old file')
face_recognizer.load(faceFile) face_recognizer.load(faceFile)
except: except:
print('[ Error ] Problem in init/loading LBPHfacerecognizer') print('[ Error ] Problem in init/loading LBPHfacerecognizer')
@ -76,6 +78,7 @@ def addPerson(label, newFileName, oldFileName):
face_recognizer.save('faces/' + newFileName) face_recognizer.save('faces/' + newFileName)
print('Updated and saved file in faces/' + newFileName) print('Updated and saved file in faces/' + newFileName)
def capture(count): def capture(count):
try: try:
print('Initializing camera') print('Initializing camera')
@ -97,6 +100,7 @@ def capture(count):
cv2.destroyAllWindows() cv2.destroyAllWindows()
print('Done!') print('Done!')
def promptNew(): def promptNew():
filemode = raw_input('Make new File? (y/n): ') filemode = raw_input('Make new File? (y/n): ')
if filemode == 'y': if filemode == 'y':
@ -107,8 +111,8 @@ def promptNew():
print('incorrect input') print('incorrect input')
promptNew() promptNew()
def addName(newName):
def addName(newName):
with open("faces/names.json", "r") as read_file: with open("faces/names.json", "r") as read_file:
exist = False exist = False
namesJson = json.load(read_file) namesJson = json.load(read_file)
@ -125,4 +129,5 @@ def addName(newName):
with open("faces/names.json", "w") as write_file: with open("faces/names.json", "w") as write_file:
json.dump(names, write_file) json.dump(names, write_file)
start() start()