Commit dd124872 authored by Arne Gerdes's avatar Arne Gerdes

Haarcascade und Landmarks zu Main eingefügt

parent 1c3a028e
import cv2
import sys
import cvhelper
import dlib
from projectmood import cvhelper
def main():
# Set up some required objects
detector = dlib.get_frontal_face_detector() # Face detector
detectors = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
predictor = dlib.shape_predictor(
"shape_predictor_68_face_landmarks.dat") # Landmark identifier. Set the filename to whatever you named the downloaded file
if len(sys.argv) > 1:
cap = cv2.VideoCapture(str(sys.argv[1]))
......@@ -16,6 +24,23 @@ def main():
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
clahe_image = clahe.apply(gray)
faces = detectors.detectMultiScale(gray, 1.3, 5)
detections = detector(clahe_image, 1) # Detect the faces in the image
for k, d in enumerate(detections): # For each detected face
shape = predictor(clahe_image, d) # Get coordinates
for i in range(1, 68): # There are 68 landmark points on each face
cv2.circle(gray, (shape.part(i).x, shape.part(i).y), 1, (0, 0, 255),
thickness=2) # For each point, draw a red circle with thickness2 on the original frame
for (x, y, w, h) in faces:
cv2.rectangle(gray, (x, y), (x + w, y + h), (255, 0, 0), 2)
roi_gray = gray[y:y + h, x:x + w]
roi_color = frame[y:y + h, x:x + w]
cvhelper.createwindow('Grayscale', gray)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment