Skin-color model acquisition tool
=================================

This is a simple tool, which can be used to acquire Gaussian model
to calculate probability of human skin in video. It is very easy to
use, just clicking skin color on an example image and hitting the
"Compute" button does the job. All source codes are included.

In Tool/Project1.exe, there is a simple application, which calculates
skin locus gaussian model. Proceed as follows:

* execute Project1.exe.
* click File -> Open Image / Open Video, open image or video,
	respectively, with people in it.
* image loads in the right part of the window.
* click different tones of naked skin using mouse, skin color
	samples are added to the bucket.
* click "Compute" button - average values, and covariance matrix
	is filled.
* now it is possible to click image again, observing value
	labeled "skin probability" (model verification).
* copy generated values and use them in your project.

Hint - good color models usually have just a few well-chosen pixels.


Skin-color model source codes
=============================

gausscolor.cpp, gausscolor.h

Those two files contain c_ColorDetect class, enabling the same
functionality the Skin-color model acquisition tool has. Using
AddColor() function, skin color sampels is added to the bucket.
Calling Compute() functions fills average values avg1, avg2 and
covariance matrix (kov11, kov21, kov12, kov22). Now it is possible
to verify color model using IsSkin() function.


SkinColor.c

This file contains minimal set of functions to quickly evaluate skin
color probability in an image. This doesn't contain code to calculate
model from color samples, just functions to evaluate it. It uses Image.h.


Image.h

Part of the DigiLib library, contains minimal definition of ImageStruct
structure. which is used to hold raw raster image data. It is here just
for the sake of clarity, because SkinColor.c uses it. It is expected
users of SkinColor.c will adapt it to their own image representation.


model.txt

Contains example trained color model. This model was used in AMI Meeting
Room demo for tracking human motion.


Building
========

The Skin-color model acquisition tool has Borland C Builder 6 project
in Tool\Project1.bpr. Precompiled binaries are supplied as well.

The other source codes can be compiled with pretty much any ANSI
C++ compiler.
