/Vitruvius

A set of easy-to-use Kinect utilities that will speed-up the development of your projects.

Primary LanguageC#Apache License 2.0Apache-2.0

Vitruvius

Vitruvius is a set of easy-to-use Kinect utilities that will speed-up the development of your projects. Supports WPF and Windows Store. Requires Kinect 2.

Installation

Grab the package using NuGet

    PM> Install-Package lightbuzz-vitruvius

... and import Vitruvius in your project

    using LightBuzz.Vitruvius;

You'll also need to set the project configuration to Release and the target processor to x64 (preferred) or x86.

vitruviuskinect.com

Features

Bitmap Generators

    var bitmap = colorFrame.ToBitmap();
    var bitmap = depthFrame.ToBitmap();
    var bitmap = infraredFrame.ToBitmap();

Bitmap Capture

    bitmap.Save("Capture.png");

Background Removal

    var bitmap = colorFrame.GreenScreen(depthFrame, bodyIndexFrame);

Closest Body

    var body = bodyFrame.Bodies().Closest();

Body Height

    double height = body.Height();

Body Visualization

    viewer.DrawBody(body);

Angles between joints

    double angle = elbow.Angle(shoulder, wrist);
    double angle = elbow.Angle(shoulder, wrist, Axis.Z);
    double radians = angle.ToRadians();
    double degrees = radians.ToDegrees();

Automatic Coordinate Mapping

    var point = joint.Position.ToPoint(Visualization.Color);

Gesture detection

    void GestureRecognized(object sender, GestureEventArgs e)
    {
       var gesture = e.GestureType;
    
       switch (gesture)
       {
    	   case (GestureType.JointHands): break;
    	   case (GestureType.Menu): break;
    	   case (GestureType.SwipeDown): break;
    	   case (GestureType.SwipeLeft): break;
    	   case (GestureType.SwipeRight): break;
    	   case (GestureType.SwipeUp): break;
    	   case (GestureType.WaveLeft): break;
    	   case (GestureType.WaveRight): break;
    	   case (GestureType.ZoomIn): break;
    	   case (GestureType.ZoomOut): break;
       }
    }

XAML Controls

    KinectViewer		// Displays streams and skeletons.
    KinectAngle		// Displays an arc.
    KinectJointSelector	// Allows you to select a joint visually.
    Avateering.Update(model, body);

HD Face with properties (Academic & Premium Versions)

    Face face = faceFrame.Face();
    var nose = face.Nose;
    var mouth = face.Mouth;
    var chin = face.Chin;
    var jaw = face.Jaw;
    var eyeLeft = face.EyeLeft;
    var eyeRight = face.EyeRight;
    var cheekLeft = face.CheekLeft;
    var cheekRight = face.CheekRight;
    var forehead = face.Forehead;

Contributors

33c72ea4f4c31ece26fa96614043840c2db77708

License

You are free to use these libraries in personal and commercial projects by attributing the original creator of Vitruvius. Licensed under Apache v2 License.