3DiVi Face SDK  3.21.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Groups
pbio::Capturer Class Reference

Interface object for detecting or tracking of faces in the images or video sequences. More...

#include <Capturer.h>

Public Types

enum  CapturerType { CAPTURER_TYPE_FRONTAL = 0, CAPTURER_TYPE_LEFT_PROFILE = 1, CAPTURER_TYPE_RIGHT_PROFILE = 2 }
 Capturer types (see also RawSample::SampleType). More...
 
typedef LightSmartPtr
< Capturer >::tPtr 
Ptr
 Alias for the type of a smart pointer to Capturer.
 

Public Member Functions

std::vector< RawSample::Ptrcapture (const RawImage image)
 Capture faces in a given image or video frame. More...
 
std::vector< RawSample::Ptrcapture (const unsigned char *data, int data_size)
 Capture faces in a given image or video frame. More...
 
RawSample::Ptr manualCapture (const RawImage image, float left_eye_x, float left_eye_y, float right_eye_x, float right_eye_y)
 Create a sample manually with the marked eye positions. More...
 
RawSample::Ptr manualCapture (const RawImage image, const std::vector< RawSample::Point > &points)
 Create a sample manually with the marked positions of all points. Used only to adjust the position of points. More...
 
RawSample::Ptr manualCapture (const unsigned char *data, int data_size, float left_eye_x, float left_eye_y, float right_eye_x, float right_eye_y)
 Create a sample manually with the marked eye positions. More...
 
RawSample::Ptr manualCapture (const unsigned char *data, int data_size, const std::vector< RawSample::Point > &points)
 Create a sample manually with the marked positions of all points. Used only to adjust the position of points. More...
 
void resetHistory ()
 Forget all previous frames and faces (only affects trackers).
 
CapturerType getType () const
 Get a capturer type. More...
 
void setParameter (const std::string parameter, const double value)
 Change the parameter value in runtime. More...
 

Detailed Description

Interface object for detecting or tracking of faces in the images or video sequences.

Member Enumeration Documentation

Capturer types (see also RawSample::SampleType).

Enumerator
CAPTURER_TYPE_FRONTAL 

Only frontal-oriented faces will be captured.

CAPTURER_TYPE_LEFT_PROFILE 

Only left-profile-oriented faces will be captured.

CAPTURER_TYPE_RIGHT_PROFILE 

Only right-profile-oriented faces will be captured.

Member Function Documentation

std::vector< RawSample::Ptr > pbio::Capturer::capture ( const RawImage  image)
inline

Capture faces in a given image or video frame.

Parameters
[in]imageImage or videoframe.
Returns
Vector of captured face samples.
Warning
Gray-scale images are not supported by the objects created with some configuration files.
std::vector< RawSample::Ptr > pbio::Capturer::capture ( const unsigned char *  data,
int  data_size 
)
inline

Capture faces in a given image or video frame.

Parameters
[in]dataPointer to the encoded image or videoframe with 8 or 24 bits per pixel. Supported formats are JPEG, PNG, TIF and BMP.
[in]data_sizeData buffer size in bytes
Returns
Vector of captured face samples.
Warning
Gray-scale images are not supported by the objects created with some configuration files.
Capturer::CapturerType pbio::Capturer::getType ( ) const
inline

Get a capturer type.

Returns
Type of the capturer.
RawSample::Ptr pbio::Capturer::manualCapture ( const RawImage  image,
float  left_eye_x,
float  left_eye_y,
float  right_eye_x,
float  right_eye_y 
)
inline

Create a sample manually with the marked eye positions.

Parameters
[in]imageImage.
[in]left_eye_xX coordinate of the left eye.
[in]left_eye_yY coordinate of the left eye.
[in]right_eye_xX coordinate of the right eye.
[in]right_eye_yY coordinate of the right eye.
Returns
Captured face sample.
RawSample::Ptr pbio::Capturer::manualCapture ( const RawImage  image,
const std::vector< RawSample::Point > &  points 
)
inline

Create a sample manually with the marked positions of all points. Used only to adjust the position of points.

Warning
For recognition methods 7.7, 6.7, 8.7: samples that are created with this member function will not contain enough information about facial landmarks (even if given points are from the FDA points set), so the FDA algorithm will be rerun during Recognizer::processing. If you use this member function in order to avoid using RawSample::save and store the image on your own, it's recommended to use new serialization functions: RawSample::saveWithoutImage and FacerecService::loadRawSampleWithoutImage.
Parameters
[in]imageImage.
[in]pointsVector of points. It should be of the same size and the points should be in the same order as in the vector received from RawSample::getLandmarks from the original sample.
Returns
Captured face sample.
RawSample::Ptr pbio::Capturer::manualCapture ( const unsigned char *  data,
int  data_size,
float  left_eye_x,
float  left_eye_y,
float  right_eye_x,
float  right_eye_y 
)
inline

Create a sample manually with the marked eye positions.

Parameters
[in]dataPointer to the encoded image or videoframe with 8 or 24 bits per pixel. Supported formats are JPEG, PNG, TIF and BMP.
[in]data_sizeData buffer size in bytes
[in]left_eye_xX coordinate of the left eye.
[in]left_eye_yY coordinate of the left eye.
[in]right_eye_xX coordinate of the right eye.
[in]right_eye_yY coordinate of the right eye.
Returns
Captured face sample.
RawSample::Ptr pbio::Capturer::manualCapture ( const unsigned char *  data,
int  data_size,
const std::vector< RawSample::Point > &  points 
)
inline

Create a sample manually with the marked positions of all points. Used only to adjust the position of points.

Warning
For recognition methods 7.7, 6.7, 8.7: samples that are created with this member function will not contain enough information about facial landmarks (even if given points are from the FDA points set), so the FDA algorithm will be rerun during the Recognizer::processing. If you use this member function in order to avoid using RawSample::save and store the image on your own, it's recommended to use new serialization functions: RawSample::saveWithoutImage and FacerecService::loadRawSampleWithoutImage.
Parameters
[in]dataPointer to the encoded image or videoframe with 8 or 24 bits per pixel. Supported formats are JPEG, PNG, TIF and BMP.
[in]data_sizeData buffer size in bytes
[in]pointsVector of points. It should be of the same size, and the points should be in the same order as in the vector received from RawSample::getLandmarks from the original sample.
Returns
Captured face sample.
void pbio::Capturer::setParameter ( const std::string  parameter,
const double  value 
)
inline

Change the parameter value in runtime.

Parameters
[in]parameterParameter name (tag name in the .xml config file).
[in]valueNew parameter value.