JavaScript library for hand tracking applications featuring:
- Skin detection
- Erode / Dilate operations
- Contour extraction
- Contour optimization
- Convex Hull calculation
- Convexity Defects calculation
Basic Demo, webcam basic demo
Fast Demo, erode and dilate operations are disabled
Create one HT.Tracker
object:
var tracker = new HT.Tracker();
Call detect
function:
var candidate = tracker.detect(imageData);
imageData
argument must be a valid ImageData
canvas object.
candidate
result (if any) will be a HT.Candidate
object with the following properties:
contour
: Optimized contour as a plain array of two dimensional vectorshull
: Convex hull as a plain array of two dimensional vectorsdefects
: Convexity defects as a plain array of objects
defects
objects have the following properties:
start
: Start point of hull segment as a two dimensional vectorend
: End point of hull segment as a two dimensional vectordepthPoint
: Deeper defect point as a two dimensional vectordepth
: Minimum distance from hull segment to deeper defect point
The library converts RGB images to HSV one. V and H channels are used to characterize the colors range for skin detection:
v >= 15 and v <= 250
h >= 3 and h <= 33
Note that source alpha channel is ignored.