Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Slots | Public Member Functions | Private Attributes
icl::qt::ChromaGUI Class Reference

Dedicated GUI component which can be used to adjust segmentation parameters. More...

#include <ChromaGUI.h>

Inheritance diagram for icl::qt::ChromaGUI:
icl::qt::GUI

List of all members.

Public Slots

void blueSliderChanged (int val)
 used for the blue-value visualization slider
void save (const std::string &filename="")
 used for the save-button
void load (const std::string &filename="")
 used for the load-button

Public Member Functions

 ChromaGUI (QWidget *parent=0)
 Create a new ChromaGUI with given parent widget.
core::ChromaClassifier getChromaClassifier ()
 retuns a ChomaClassifier with current parameters
core::ChromaAndRGBClassifier getChromaAndRGBClassifier ()
 retuns a CombiClassifier with current parameters

Private Attributes

ChromaWidget * m_poChromaWidget
 Wrapped ChromaWidget (an internal class)
SliderHandle m_aoSliderHandles [2][3]
 Handles to the embedded sliders.

Detailed Description

Dedicated GUI component which can be used to adjust segmentation parameters.

The RG-Chromaticity space is a special Color-Space, which can be used for a lighting-independend skin color segmentation. The segmentation is parameterized by two parabolic functions $P_1(x)$ and $P_2(x)$. The pixel classification rule (is pixels skin-colored or not) can be defindes as follows:

        bool is_pixel_skin_colored(int r,int g,int b, Parable p1, Parable p2){
           int R = (255*r)/(r+g+b+1); // "+1" to avoid a div-zero
           int G = (255*g)/(r+g+b+1);
           return p1(R) > G && p2(R) < G;
        }

The so called "skin-locus" is defined by the two enclosing parables $P_1(x)$ and $P_2(x)$. A pixel is skin colored if it is between the two parables - or more precisely: if it is on the bottom side of the first and on the top side of the second.

In addition the ChromaGUI class provides a simple RGB thresholded reference color segmenter, which can be combined with the chromaticity-space segmenter, and which can also be adjusted using GUI components.


Constructor & Destructor Documentation

icl::qt::ChromaGUI::ChromaGUI ( QWidget *  parent = 0)

Create a new ChromaGUI with given parent widget.


Member Function Documentation

void icl::qt::ChromaGUI::blueSliderChanged ( int  val) [slot]

used for the blue-value visualization slider

retuns a CombiClassifier with current parameters

retuns a ChomaClassifier with current parameters

void icl::qt::ChromaGUI::load ( const std::string &  filename = "") [slot]

used for the load-button

void icl::qt::ChromaGUI::save ( const std::string &  filename = "") [slot]

used for the save-button


Member Data Documentation

Handles to the embedded sliders.

ChromaWidget* icl::qt::ChromaGUI::m_poChromaWidget [private]

Wrapped ChromaWidget (an internal class)


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines