#include <CvVRFilter.hh>
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. |
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.
min | minimum contour points | |
max | maximum contour points |
Definition at line 51 of file CvVRFilter.cpp.
CvVrFilter::~CvVrFilter | ( | ) | [virtual] |
Definition at line 61 of file CvVRFilter.cpp.
int CvVrFilter::cvGetContoursCount | ( | ) |
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
seq | the sequence of skin region contours |
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
seq | the sequence of skin region contours | |
color_mask | boolean to set different color for every different skin regions |
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
seq | the sequence of skin region contours |
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
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.
image | to get image size | |
storage | the mem starage | |
seq | the sequence to fill with structures information about skin |
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] |
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)
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] |
x1 | first point x | |
x2 | first point y | |
y1 | second point x | |
y2 | second point y |
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] |
image | the input 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:
int CvVrFilter::max_point [private] |
IplImage* CvVrFilter::median [private] |
int CvVrFilter::min_point [private] |
IplImage* CvVrFilter::rgb_norm [private] |
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] |
IplImage* CvVrFilter::source [private] |
bool CvVrFilter::started [private] |