Skip to content

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

License

Notifications You must be signed in to change notification settings

birbilis/Vitruvius

 
 

Repository files navigation

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

Angles

    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.JoinedHands): 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

    Avateering.Update(model, body);

Recording & Playback (Academic & Premium versions)

    // Recording
    recorder = new VitruviusRecorder(path);
    recorder.RecordFrame(imageFrame, frameEffect, bodyFrame, faceFrame);
    
    // Playback
    player = new VitruviusPlayer(this, StreamFromPlayback, path));
    player.SeekFrame(seekDelta);

HD Face with properties (Academic & Premium Versions)

Face

    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

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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%