Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add the names for the person #38

Open
satvikjoshi opened this issue Mar 21, 2021 · 0 comments
Open

add the names for the person #38

satvikjoshi opened this issue Mar 21, 2021 · 0 comments

Comments

@satvikjoshi
Copy link

this was my code when i used cascade file

`
import cv2
import numpy as np
import os

def f_s():

trainer = r'C:\Users\User\Documents\jarvis\face recognition\trainer'

recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.read(trainer + '/trainer.yml')
cascadePath = r'C:\Users\User\Documents\jarvis\cascades\data\haarcascade_frontalface_default.xml'
faceCascade = cv2.CascadeClassifier(cascadePath)

font = cv2.FONT_HERSHEY_SIMPLEX

#iniciate id counter
id = 0

# names related to ids: example ==> mark : id=1,  etc
names = ['None','Mark'] 

# Initialize and start realtime video capture
cam = cv2.VideoCapture(0)
cam.set(3, 640) # set video widht
cam.set(4, 480) # set video height

# Define min window size to be recognized as a face
minW = 0.1*cam.get(3)
minH = 0.1*cam.get(4)



while True:
    ret, img =cam.read()
    img = cv2.flip(img, 1) # Flip vertically
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
    faces = faceCascade.detectMultiScale( 
        gray,
        scaleFactor = 1.2,
        minNeighbors = 5,
        minSize = (int(minW), int(minH)),
    )

    for(x,y,w,h) in faces:
        cv2.rectangle(img, (x,y), (x+w,y+h), (0,255,0), 2)
        id, confidence = recognizer.predict(gray[y:y+h,x:x+w])

        # Check if confidence is less them 100 ==> "0" is perfect match 
        if (confidence < 100):
            id = names[id]
            confidence = "  {0}%".format(round(100 - confidence))
        else:
            id = "unknown"
            confidence = "  {0}%".format(round(100 - confidence))
        
                    
        if 'Mark' == id:
            A = '18'
        else:
            print('age: unknon')

        cv2.putText(img, str(id), (x+5,y-5), font, 1, (255,255,255), 2)
        cv2.putText(img, str(confidence), (x+65,y-5), font, 1, (255,255,0), 1)   
        cv2.putText(img, str(A), (x+25,y+h+23), font, 1, (255,255,0), 1)

    cv2.imshow('face recognition',img) 
    
    
    k = cv2.waitKey(10) & 0xff # Press 'ESC' for exiting video
    if k == 27:
        break

# Do a bit of cleanup
print("\n [INFO] Exiting Program and cleanup stuff")
cam.release()
cv2.destroyAllWindows()

if name == "main":
f_s()
`

is there a way of me adding my name the way i did above in the face code thing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant