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.
