def main(argv):
    faceClassManager = None
    dir = "/Users/admin/Desktop/Computer Vision/Projects/Final Project HBD/Final Project Github/Input/"
    inputImagePaths = [os.path.join(dir,f) for f in os.listdir(dir)]
    inputImages = [cv2.imread(i,0) for i in inputImagePaths]
    if (len(argv) == 0):
        faceClassManager = FaceClassManager("./DataSets/")
        # TODO: inputimages default
        # inputImages.append(cv2.imread(ex,0))
    elif len(argv) == 1:
        #TODO: datasets default
        #TODO: input images from commands
        pass
    elif len(argv) == 2:
        #TODO: input images and datasets from commands
        pass
    else:
        #TODO Errors
        pass
    
    pp = pprint.PrettyPrinter(indent=4)
    pp.pprint(faceClassManager.pathClasses)
    
    

    faceClassManager.trainToFV()


    recognizer = FaceRecognizer()

    recognizer.recognize(inputImages, faceClassManager)    
    pp.pprint(faceClassManager.fvClassNames)

    cv2.imshow("Hello", cv2.imread(faceClassManager.fvClassNames[2],0))
    
    cv2.waitKey()
Ejemplo n.º 2
0
listButton.setClickHandler(db.getMembers)
buttons.append(listButton)

while 1:
    ret, img = cap.read()

    img = cv2.flip(img, 1)

    faces = faceRecognizer.detect_faces(img)

    img = handRecognizer.recognize(img)

    for face in faces:
        face.draw(img)

    img = faceRecognizer.recognize(img)

    for button in buttons:
        button.draw(img)
        if isinstance(button, Button):
            button.detectClick(x, y)

    cv2.imshow('img', img)

    k = cv2.waitKey(30) & 0xff
    if k == ord('`'):
        break

cap.release()
cv2.destroyAllWindows()
Ejemplo n.º 3
0
from DBAccess import DBAccess
from time import sleep

cap = cv2.VideoCapture(0)
dba = DBAccess()
sleep(1)
while True:
    flag = True
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    faceDetector = FaceDetector()
    cv2.imshow('attendance', frame)
    status, gray = faceDetector.detect(gray)
    if status:
        fr = FaceRecognizer()
        flag, person = fr.recognize(gray)
        print "attendance : accept '%s'" % (person)
        if flag:
            s = raw_input("press y for yes n for no")
            if s == 'y' or s == 'n':
                if s == 'y':
                    dba.update(person, 1)
                    flag = False
                    break
                else:
                    break
            else:
                print "please enter the correct option"
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()