Face3d
Face3D::FaceGeometry Class Reference

#include <FaceGeometry.hpp>

Public Types

enum  DetectedPoints {
  FrontLeftEye, FrontRightEye, FrontMouth, FrontLeftCheek,
  FrontRightCheek, SideEye, SideNoseTip, SideChin,
  SideBack, TextureLeftEye, TextureRightEye, TextureChin,
  InvalidPoint
}
 

Public Member Functions

cv::Point2d getDetectedPoint (DetectedPoints detectedPoint) const
 
cv::Point getDetectedPointInt (DetectedPoints detectedPoint) const
 
cv::Point3d getDetectedPointHomogeneous (DetectedPoints detectedPoint) const
 
void setDetectedPoint (DetectedPoints detectedPoint, const cv::Point2d &p)
 
void setDetectedPoint (DetectedPoints detectedPoint, const cv::Point3d &p)
 
void transform (DetectedPoints point, const cv::Mat &transform)
 
void merge3d ()
 
void toFile (const std::string &fn)
 

Private Member Functions

void pointToFile (std::ofstream &f, const cv::Point3d &p)
 

Private Attributes

cv::Point3d m_DetectedPoints [InvalidPoint]
 the 2d points in homogeneous coordinates such that an affine transformation can be applied More...
 
cv::Point3d leftEye
 
cv::Point3d rightEye
 
cv::Point3d nose
 
cv::Point3d mouth
 
cv::Point3d chin
 
cv::Point3d faceDimensions
 3d position More...
 
cv::Rect sideSkinRegion
 region of the skin in the side image More...
 
cv::Rect frontSkinRegion
 region of the skin in the front image More...
 

Detailed Description

class which calculates the 2d points of the facial components and merges them into 3d coordinates

Member Enumeration Documentation

the facial components in the front and side image

Enumerator
FrontLeftEye 
FrontRightEye 
FrontMouth 
FrontLeftCheek 
FrontRightCheek 
SideEye 
SideNoseTip 
SideChin 
SideBack 
TextureLeftEye 
TextureRightEye 
TextureChin 
InvalidPoint 

Member Function Documentation

cv::Point2d Face3D::FaceGeometry::getDetectedPoint ( DetectedPoints  detectedPoint) const

get 2d point with datatype double

cv::Point3d Face3D::FaceGeometry::getDetectedPointHomogeneous ( DetectedPoints  detectedPoint) const

get 3d point (homogeneous coordinates) with datatype double

cv::Point Face3D::FaceGeometry::getDetectedPointInt ( DetectedPoints  detectedPoint) const

get 2d point with datatype int

void Face3D::FaceGeometry::merge3d ( )

combine the points into 3d points

void Face3D::FaceGeometry::pointToFile ( std::ofstream &  f,
const cv::Point3d &  p 
)
private

save a single point to a file

void Face3D::FaceGeometry::setDetectedPoint ( DetectedPoints  detectedPoint,
const cv::Point2d &  p 
)

set 2d point with datatype double

void Face3D::FaceGeometry::setDetectedPoint ( DetectedPoints  detectedPoint,
const cv::Point3d &  p 
)

set 3d (homogeneous coordinates) point with datatype double

void Face3D::FaceGeometry::toFile ( const std::string &  fn)

ipc - serialize current object state to file

void Face3D::FaceGeometry::transform ( DetectedPoints  point,
const cv::Mat &  transform 
)

apply an affine transform to a point. can be a 2x3 or 3x3 matrix.

Member Data Documentation

cv::Point3d Face3D::FaceGeometry::chin
private
cv::Point3d Face3D::FaceGeometry::faceDimensions
private

3d position

cv::Rect Face3D::FaceGeometry::frontSkinRegion
private

region of the skin in the front image

cv::Point3d Face3D::FaceGeometry::leftEye
private
cv::Point3d Face3D::FaceGeometry::m_DetectedPoints[InvalidPoint]
private

the 2d points in homogeneous coordinates such that an affine transformation can be applied

cv::Point3d Face3D::FaceGeometry::mouth
private
cv::Point3d Face3D::FaceGeometry::nose
private
cv::Point3d Face3D::FaceGeometry::rightEye
private
cv::Rect Face3D::FaceGeometry::sideSkinRegion
private

region of the skin in the side image


The documentation for this class was generated from the following files: