面部分析


class cv::face::BasicFaceRecognizer
struct cv::face::CParams
class cv::face::EigenFaceRecognizer
class cv::face::FacemarkAAM
class cv::face::FacemarkLBF
class cv::face::FacemarkTrain
Abstract base class for trainable facemark models. 更多...
class cv::face::FaceRecognizer
Abstract base class for all face recognition models. 更多...
class cv::face::FisherFaceRecognizer
class cv::face::LBPHFaceRecognizer
class cv::face::MACE
Minimum Average Correlation Energy Filter useful for authentication with (cancellable) biometrical features. (does not need many positives to train (10-50), and no negatives at all, also robust to noise/salting) 更多...
class cv::face::PredictCollector
Abstract base class for all strategies of prediction result handling. 更多...
class cv::face::StandardCollector
Default predict collector. 更多...

Typedefs

typedef bool(* cv::face::FN_FaceDetector ) ( InputArray , OutputArray , void *userData)

函数

void cv::face::drawFacemarks ( InputOutputArray image, InputArray points, Scalar color= Scalar (255, 0, 0))
Utility to draw the detected facial landmark points. 更多...
bool cv::face::getFaces ( InputArray image, OutputArray faces, CParams *params)
Default face detector This function is mainly utilized by the implementation of a Facemark Algorithm . End users are advised to use function Facemark::getFaces which can be manually defined and circumvented to the algorithm by Facemark::setFaceDetector. 更多...
bool cv::face::getFacesHAAR ( InputArray image, OutputArray faces, const String &face_cascade_name)
bool cv::face::loadDatasetList ( String imageList, String annotationList, std::vector< String > &images, std::vector< String > &annotations)
A utility to load list of paths to training image and annotation file. 更多...
bool cv::face::loadFacePoints ( String filename, OutputArray points, float offset=0.0f)
A utility to load facial landmark information from a given file. 更多...
bool cv::face::loadTrainingData ( String filename, std::vector< String > &images, OutputArray facePoints, char delim=' ', float offset=0.0f)
A utility to load facial landmark dataset from a single file. 更多...
bool cv::face::loadTrainingData ( String imageList, String groundTruth, std::vector< String > &images, OutputArray facePoints, float offset=0.0f)
A utility to load facial landmark information from the dataset. 更多...
bool cv::face::loadTrainingData (std::vector< String > filename, std::vector< std::vector< Point2f > > &trainlandmarks, std::vector< String > &trainimages)
This function extracts the data for training from .txt files which contains the corresponding image name and landmarks. The first file in each file should give the path of the image whose landmarks are being described in the file. Then in the subsequent lines there should be coordinates of the landmarks in the image i.e each line should be of the form x,y where x represents the x coordinate of the landmark and y represents the y coordinate of the landmark. 更多...

详细描述

Typedef 文档编制

FN_FaceDetector

typedef bool(* cv::face::FN_FaceDetector) ( InputArray , OutputArray , void *userData)

函数文档编制

drawFacemarks()

void cv::face::drawFacemarks ( InputOutputArray image ,
InputArray points ,
Scalar color = Scalar (255, 0, 0)
)
Python:
image = cv.face.drawFacemarks( image, points[, color] )

#include < opencv2/face/facemark_train.hpp >

Utility to draw the detected facial landmark points.

Parameters
image The input image to be processed.
points Contains the data of points which will be drawn.
color The color of points in BGR format represented by cv::Scalar .

Example of usage

std::vector<Rect> faces;
std::vector<std::vector<Point2f> > landmarks;
facemark->getFaces(img, faces);
facemark->fit(img, faces, landmarks);
for ( int j=0;j<rects.size();j++){
face::drawFacemarks (frame, landmarks[j], Scalar (0,0,255));
}

getFaces()

bool cv::face::getFaces ( InputArray image ,
OutputArray faces ,
CParams * params
)

#include < opencv2/face/facemark_train.hpp >

Default face detector This function is mainly utilized by the implementation of a Facemark Algorithm . End users are advised to use function Facemark::getFaces which can be manually defined and circumvented to the algorithm by Facemark::setFaceDetector.

Parameters
image The input image to be processed.
faces Output of the function which represent region of interest of the detected faces. Each face is stored in cv::Rect container.
params detector parameters

Example of usage

std::vector<cv::Rect> faces;
CParams params( "haarcascade_frontalface_alt.xml" );
cv::face::getFaces (frame, faces, &params);
for ( int j=0;j<faces.size();j++){
cv::rectangle (frame, faces[j], cv::Scalar (255,0,255));
}
cv::imshow ( "detection" , frame);

getFacesHAAR()

bool cv::face::getFacesHAAR ( InputArray image ,
OutputArray faces ,
const String & face_cascade_name
)
Python:
retval, faces = cv.face.getFacesHAAR( image, face_cascade_name[, faces] )

loadDatasetList()

bool cv::face::loadDatasetList ( String imageList ,
String annotationList ,
std::vector< String > & images ,
std::vector< String > & annotations
)
Python:
retval = cv.face.loadDatasetList( imageList, annotationList, images, annotations )

#include < opencv2/face/facemark_train.hpp >

A utility to load list of paths to training image and annotation file.

Parameters
imageList The specified file contains paths to the training images.
annotationList The specified file contains paths to the training annotations.
images The loaded paths of training images.
annotations The loaded paths of annotation files.

Example of usage:

String imageFiles = "images_path.txt" ;
String ptsFiles = "annotations_path.txt" ;
std::vector<String> images_train;
std::vector<String> landmarks_train;
loadDatasetList (imageFiles,ptsFiles,images_train,landmarks_train);

loadFacePoints()

bool cv::face::loadFacePoints ( String filename ,
OutputArray points ,
float offset = 0.0f
)
Python:
retval, points = cv.face.loadFacePoints( filename[, points[, offset]] )

#include < opencv2/face/facemark_train.hpp >

A utility to load facial landmark information from a given file.

Parameters
filename The filename of file contains the facial landmarks data.
points The loaded facial landmark points.
offset An offset value to adjust the loaded points.

Example of usage

std::vector<Point2f> points;
face::loadFacePoints ( "filename.txt" , points, 0.0f);

The annotation file should follow the default format which is

version: 1
n_points: 68
{
212.716603 499.771793
230.232816 566.290071
...
}

where n_points is the number of points considered and each point is represented as its position in x and y.

loadTrainingData() [1/3]

bool cv::face::loadTrainingData ( String filename ,
std::vector< String > & images ,
OutputArray facePoints ,
char delim = ' ' ,
float offset = 0.0f
)
Python:
retval, facePoints = cv.face.loadTrainingData( filename, images[, facePoints[, delim[, offset]]] )
retval, facePoints = cv.face.loadTrainingData( imageList, groundTruth, images[, facePoints[, offset]] )
retval = cv.face.loadTrainingData( filename, trainlandmarks, trainimages )

#include < opencv2/face/facemark_train.hpp >

A utility to load facial landmark dataset from a single file.

Parameters
filename The filename of a file that contains the dataset information. Each line contains the filename of an image followed by pairs of x and y values of facial landmarks points separated by a space. Example
/home/user/ibug/image_003_1.jpg 336.820955 240.864510 334.238298 260.922709 335.266918 ...
/home/user/ibug/image_005_1.jpg 376.158428 230.845712 376.736984 254.924635 383.265403 ...
images A vector where each element represent the filename of image in the dataset. Images are not loaded by default to save the memory.
facePoints The loaded landmark points for all training data.
delim Delimiter between each element, the default value is a whitespace.
offset An offset value to adjust the loaded points.

Example of usage

cv::String imageFiles = "../data/images_train.txt" ;
cv::String ptsFiles = "../data/points_train.txt" ;
std::vector<String> images;
std::vector<std::vector<Point2f> > facePoints;
loadTrainingData (imageFiles, ptsFiles, images, facePoints, 0.0f);

loadTrainingData() [2/3]

bool cv::face::loadTrainingData ( String imageList ,
String groundTruth ,
std::vector< String > & images ,
OutputArray facePoints ,
float offset = 0.0f
)
Python:
retval, facePoints = cv.face.loadTrainingData( filename, images[, facePoints[, delim[, offset]]] )
retval, facePoints = cv.face.loadTrainingData( imageList, groundTruth, images[, facePoints[, offset]] )
retval = cv.face.loadTrainingData( filename, trainlandmarks, trainimages )

#include < opencv2/face/facemark_train.hpp >

A utility to load facial landmark information from the dataset.

Parameters
imageList A file contains the list of image filenames in the training dataset.
groundTruth A file contains the list of filenames where the landmarks points information are stored. The content in each file should follow the standard format (see face::loadFacePoints ).
images A vector where each element represent the filename of image in the dataset. Images are not loaded by default to save the memory.
facePoints The loaded landmark points for all training data.
offset An offset value to adjust the loaded points.

Example of usage

cv::String imageFiles = "../data/images_train.txt" ;
cv::String ptsFiles = "../data/points_train.txt" ;
std::vector<String> images;
std::vector<std::vector<Point2f> > facePoints;
loadTrainingData (imageFiles, ptsFiles, images, facePoints, 0.0f);

example of content in the images_train.txt

/home/user/ibug/image_003_1.jpg
/home/user/ibug/image_004_1.jpg
/home/user/ibug/image_005_1.jpg
/home/user/ibug/image_006.jpg

example of content in the points_train.txt

/home/user/ibug/image_003_1.pts
/home/user/ibug/image_004_1.pts
/home/user/ibug/image_005_1.pts
/home/user/ibug/image_006.pts

loadTrainingData() [3/3]

bool cv::face::loadTrainingData ( std::vector< String > filename ,
std::vector< std::vector< Point2f > > & trainlandmarks ,
std::vector< String > & trainimages
)
Python:
retval, facePoints = cv.face.loadTrainingData( filename, images[, facePoints[, delim[, offset]]] )
retval, facePoints = cv.face.loadTrainingData( imageList, groundTruth, images[, facePoints[, offset]] )
retval = cv.face.loadTrainingData( filename, trainlandmarks, trainimages )

#include < opencv2/face/facemark_train.hpp >

This function extracts the data for training from .txt files which contains the corresponding image name and landmarks. The first file in each file should give the path of the image whose landmarks are being described in the file. Then in the subsequent lines there should be coordinates of the landmarks in the image i.e each line should be of the form x,y where x represents the x coordinate of the landmark and y represents the y coordinate of the landmark.

For reference you can see the files as provided in the HELEN dataset

Parameters
filename A vector of type cv::String containing name of the .txt files.
trainlandmarks A vector of type cv::Point2f that would store shape or landmarks of all images.
trainimages A vector of type cv::String which stores the name of images whose landmarks are tracked
返回
A boolean value. It returns true when it reads the data successfully and false otherwise