CvVrFilter Class Reference

#include <CvVRFilter.hh>

List of all members.


Detailed Description

CvVrFilter return the skin locus using the r/g normalized color space based on the paper of Alvise Lastra (...link).

Definition at line 110 of file CvVRFilter.hh.

Public Member Functions

 CvVrFilter (int min=0, int max=10000)
 CvVrFilter contructor.
virtual ~CvVrFilter ()
 The CvVrFilter virtual destructor.
IplImage * cvVrFilter (IplImage *image, CvMemStorage *storage, CvSeq *seq)
 CvVrFilter init.
IplImage * cvGetSkinMask ()
 A function that returns the black and white mask.
IplImage * cvGetSkinMap (CvSeq *seq)
 A function that returns the color map.
IplImage * cvGetContoursMask (CvSeq *seq, bool color_mask=false)
 A function that returns the contours mask.
IplImage * cvGetContoursMap (CvSeq *seq)
 A function that returns the contours map.
int cvGetContoursCount ()
 A function that returns the numbers of skin regions.

Private Member Functions

IplImage * icvRGBnorm (IplImage *image)
 Private function that create the RGB normalized space of the input image.
double * icvPline (double x1, double x2, double y1, double y2)
 Private function that calculates the pline funtion.
void icvSkinMask ()
 Private function that create the skin map.
void icvContours (CvMemStorage *storage, CvSeq *seq)
 Private function that create the seq contours.
IplImage * icvCreateMap (const IplImage *src, const IplImage *mask)
 Private function that return the map image from a given mask.

Private Attributes

IplImage * median
 Private image used from the detection algorithm to smooth the final mask.
IplImage * rgb_norm
 Private image used to create the rgn normalized image.
IplImage * skin_mask
 Private image used to create the skin mask.
IplImage * source
 The source image.
CvSize size
 The size of the image.
CvSeq * skin
 Sequence of skin regions detected.
int min_point
 Min contuor points accepted.
int max_point
 Max contuor points accepted.
bool started
 Boolean activated when algoritmh start.


Constructor & Destructor Documentation

CvVrFilter::CvVrFilter ( int  min = 0,
int  max = 10000 
)

CvVrFilter contructor Min and max parameters are the minum and the maximum size of contour's point. It depends from your original image size and from the application target.

Parameters:
min minimum contour points
max maximum contour points

Definition at line 51 of file CvVRFilter.cpp.

References max_point, min_point, and started.

CvVrFilter::~CvVrFilter (  )  [virtual]

Definition at line 61 of file CvVRFilter.cpp.


Member Function Documentation

int CvVrFilter::cvGetContoursCount (  ) 

Returns:
number of skin regions

IplImage * CvVrFilter::cvGetContoursMap ( CvSeq *  seq  ) 

A function that returns the color cotours map (from the original image) of the skin locus region without hole inside (mouth and eyes): useful for debugging purpose

Parameters:
seq the sequence of skin region contours
Returns:
contour skin map image

Definition at line 153 of file CvVRFilter.cpp.

References cvGetContoursMask(), and icvCreateMap().

Referenced by cvVrFilter().

Here is the call graph for this function:

Here is the caller graph for this function:

IplImage * CvVrFilter::cvGetContoursMask ( CvSeq *  seq,
bool  color_mask = false 
)

A function that returns the black and white cotours mask of the skin locus region without hole inside (mouth and eyes): useful for debugging purpose

Parameters:
seq the sequence of skin region contours
color_mask boolean to set different color for every different skin regions
Returns:
contours skin mask image

Definition at line 118 of file CvVRFilter.cpp.

Referenced by cvGetContoursMap(), and cvGetSkinMap().

Here is the caller graph for this function:

IplImage * CvVrFilter::cvGetSkinMap ( CvSeq *  seq  ) 

A function that returns the color map (from the original image) of the skin locus region: useful for debugging purpose

Parameters:
seq the sequence of skin region contours
Returns:
skin map image

Definition at line 107 of file CvVRFilter.cpp.

References cvGetContoursMask(), and icvCreateMap().

Here is the call graph for this function:

IplImage * CvVrFilter::cvGetSkinMask (  ) 

A function that returns the balck and white mask of the skin locus region: useful for debugging purpose

Returns:
skin mask image

Definition at line 97 of file CvVRFilter.cpp.

IplImage * CvVrFilter::cvVrFilter ( IplImage *  image,
CvMemStorage *  storage,
CvSeq *  seq 
)

An init function used to process frame: this has to be called first off all.

Parameters:
image to get image size
storage the mem starage
seq the sequence to fill with structures information about skin
Returns:
the cvVrFilter processed image

Definition at line 71 of file CvVRFilter.cpp.

References cvGetContoursMap(), icvContours(), icvSkinMask(), size, source, and started.

Referenced by CvFaceDetect::cvFaceDetect().

Here is the call graph for this function:

Here is the caller graph for this function:

void CvVrFilter::icvContours ( CvMemStorage *  storage,
CvSeq *  seq 
) [private]

Parameters:
storage memory storage
seq contours sequence

Definition at line 174 of file CvVRFilter.cpp.

References H_ON_W_VALUE, Cvface::Cvskin::skin_box, Cvface::Cvskin::skin_contour, Cvface::skin_face, Cvface::Cvskin::skin_rect, Cvface::track, and W_ON_H_VALUE.

Referenced by cvVrFilter().

Here is the caller graph for this function:

IplImage * CvVrFilter::icvCreateMap ( const IplImage *  src,
const IplImage *  mask 
) [private]

src and mask must have the same size (width, height)

Parameters:
src source image
mask black and white mask

Definition at line 222 of file CvVRFilter.cpp.

Referenced by cvGetContoursMap(), and cvGetSkinMap().

Here is the caller graph for this function:

double * CvVrFilter::icvPline ( double  x1,
double  x2,
double  y1,
double  y2 
) [private]

Parameters:
x1 first point x
x2 first point y
y1 second point x
y2 second point y
Returns:
double vector of plines

Definition at line 320 of file CvVRFilter.cpp.

Referenced by icvSkinMask().

Here is the caller graph for this function:

IplImage * CvVrFilter::icvRGBnorm ( IplImage *  image  )  [private]

Parameters:
image the input image
Returns:
the 32-bit rgb normalized image

Definition at line 277 of file CvVRFilter.cpp.

References size.

Referenced by icvSkinMask().

Here is the caller graph for this function:

void CvVrFilter::icvSkinMask (  )  [private]

The image must be a rgb normalized

Definition at line 333 of file CvVRFilter.cpp.

References icvPline(), icvRGBnorm(), median, NULL, rgb_norm, size, skin_mask, and source.

Referenced by cvVrFilter().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

int CvVrFilter::max_point [private]

Definition at line 127 of file CvVRFilter.hh.

Referenced by CvVrFilter().

IplImage* CvVrFilter::median [private]

Definition at line 113 of file CvVRFilter.hh.

Referenced by icvSkinMask().

int CvVrFilter::min_point [private]

Definition at line 125 of file CvVRFilter.hh.

Referenced by CvVrFilter().

IplImage* CvVrFilter::rgb_norm [private]

Definition at line 115 of file CvVRFilter.hh.

Referenced by icvSkinMask().

CvSize CvVrFilter::size [private]

Definition at line 121 of file CvVRFilter.hh.

Referenced by cvVrFilter(), icvRGBnorm(), and icvSkinMask().

CvSeq* CvVrFilter::skin [private]

Definition at line 123 of file CvVRFilter.hh.

IplImage* CvVrFilter::skin_mask [private]

Definition at line 117 of file CvVRFilter.hh.

Referenced by icvSkinMask().

IplImage* CvVrFilter::source [private]

Definition at line 119 of file CvVRFilter.hh.

Referenced by cvVrFilter(), and icvSkinMask().

bool CvVrFilter::started [private]

Definition at line 130 of file CvVRFilter.hh.

Referenced by cvVrFilter(), and CvVrFilter().


The documentation for this class was generated from the following files:
Generated on Tue Dec 26 10:36:00 2006 for Omnimeeting by  doxygen 1.4.7