コード例 #1
0
import numpy as np
import cv2
from traindata import traindata
from datetime import datetime
import os
import utils as utils
from picamera.array import PiRGBArray
from picamera import PiCamera
import time
import analytics

#Uncomment to enable lights on PI
if utils.getEnvironmentValueByKey('ENVIRONMENT_TYPE') == 'RASPBERRYPI':
    import showLightsOnPI as showPILights

#train data if flag enabled or else load file from trained file
if utils.getEnvironmentValueByKey('TRAIN_GENDER_CLASSFICATION_DATA') == 'TRUE':
    traindata.trainGenderClassficationData('images/male/*.*', 1,
                                           'images/female/*.*', 2, 50, 50)

#handling multiple versions of OpenCV
if cv2.__version__ > "3.1.0":
    faceRecognizer = cv2.face.LBPHFaceRecognizer_create()
    faceRecognizer.read("data/face_recognizer_gender.yml")
else:
    faceRecognizer = cv2.face.createLBPHFaceRecognizer()
    faceRecognizer.load("data/face_recognizer_gender.yml")

#initialize variables
gender_classifier = {1: 'Male', 2: 'Female'}
startTime = datetime.now()
コード例 #2
0
from os.path import join, dirname
from dotenv import load_dotenv
import os
from socketIO_client import SocketIO, LoggingNamespace
import json
import utils

socketIO = SocketIO(utils.getEnvironmentValueByKey('SOCKET_HOST_NAME'),
                    utils.getEnvironmentValueByKey('SOCKET_PORT'),
                    LoggingNamespace)


def recordStatistics(facetime, total, maleFacesCount, femaleFacesCount):

    statsFile = open("analytics.txt", "a")
    data = {}
    data['date'] = str(facetime.date()) + ' ' + str(facetime.hour) + ':' + str(
        facetime.minute)
    data['total'] = str(total)
    data['maleFacesCount'] = str(maleFacesCount)
    data['femaleFacesCount'] = str(femaleFacesCount)
    jsonData = json.dumps(data)

    string = str(facetime.date()) + ' ' + str(facetime.hour) + ':' + str(
        facetime.minute) + ',' + str(total) + ',' + str(
            maleFacesCount) + ',' + str(femaleFacesCount)

    statsFile.write(string + '\n')
    statsFile.close()

    #with SocketIO('127.0.0.1', 8000, LoggingNamespace) as socketIO:
コード例 #3
0
from traindata import traindata
from datetime import datetime
import os
import utils as utils
import cognitive_face as CF
import requests
from io import BytesIO
from PIL import Image, ImageDraw
import face_utils as faceutils

initialImage = '/Users/ekumar/EKProject/projects/facedetection/pi/face-detection/face-detection/images/face_recognition/img_1.jpg'
personImage1 = Image.open(initialImage)
initialFace = faceutils.detectFaces(np.array(personImage1))

#train data if flag enabled or else load file from trained file
if utils.getEnvironmentValueByKey('TRAIN_GENDER_CLASSFICATION_DATA') == 'TRUE':
    traindata.trainDataForFacialRecognition()

radius = 1
neighbors = 8
grid_x = 8
grid_y = 8

#handling multiple versions of OpenCV
if cv2.__version__ > "3.1.0":
    faceRecognizer = cv2.face.LBPHFaceRecognizer_create()
    faceRecognizer.read("data/face_recognition_OB.yml")
else:
    faceRecognizer = cv2.face.createLBPHFaceRecognizer(radius, neighbors,
                                                       grid_x, grid_y, 130)
    faceRecognizer.load("data/face_recognition_OB.yml")