#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] |
1.4.7