Track +rec
Track +rec
# Initialize webcam
cap = cv2.VideoCapture(0)
cap.set(3, 640) # Width
cap.set(4, 480) # Height
while True:
# Read frame from webcam
ret, frame = cap.read()
if not ret:
print("Error reading frame from webcam")
break
try:
# Detect all faces in the frame
faces = DeepFace.extract_faces(frame, enforce_detection=False)
# Face recognition
label = "Unknown"
if ref_img is not None:
try:
# Compare with reference face
result = DeepFace.verify(
frame[y:y+h, x:x+w],
ref_img,
enforce_detection=False
)
if result['verified']:
label = "Known Person"
except Exception as e:
pass
# Display label
cv2.putText(frame, label, (x, y-10),
cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)
except Exception as e:
print(f"Face processing error: {e}")
# Display frame
cv2.imshow('Face Recognition', frame)
# Cleanup
cap.release()
cv2.destroyAllWindows()