OpenCV
4.5.1
Open Source Computer Vision
|
This application lets you detect landmarks of detected faces in a video.This application first detects faces in a current video frame and then finds their facial landmarks. You just have to pass the video as input.
- model_filename f : (REQUIRED) A path to binary file storing the trained model which is to be loaded [example - /data/file.dat]
- video v : (REQUIRED) A path to video in which face landmarks have to be detected.[example - /data/video.avi]
- face_cascade c : (REQUIRED) A path to the face cascade xml file which you want to use as a face detector.
This tutorial will explain the sample code for face landmark detection. Jumping directly to the code :
The facemark API provides the functionality to the user to use their own face detector to be used in face landmark detection.The above code creartes a sample face detector. The above function would be passed to a function pointer in the facemark API.
The above code creates a video capture object and then loads the video. If the video is not loaded properly it prompts the user else the code proceeds.
The above code creates a pointer of the face landmark detection class. The face detector created above has to be passed as function pointer to the facemark pointer created for detecting faces.
The above code creates a vector to store the detected faces and a vector of vector to store shapes for each face detected in the current frame.
The above code then reads each frame and detects faces and the landmarks corresponding to each shape detected. It then displays the current frame.
After running the above code you will get results something like this
Sample video: