"We work with CoVii on a number of projects and there knowledge of OpenNI and computer vision as been outstanding."
Amir Hoffnung - PrimeSense's Software Team Leader

Create interactive applications effortlessly for Kinect

or other 3D sensor.

ViiM SDK provides advanced features to developers, while managing all the delicate and complex low-level processing.


Developing applications to operate a 3D sensor has been limited to experienced developers due to its complexity, but CoVii aims to broaden this audience with the ViiM SDK.

ViiM SDK was developed in C++, currently with bindings for C#. ViiM SDK includes the libraries, an API and the samples with source code to help applications development.

ViiM SDK manages the communication with the 3D sensor in an event-based architecture that is constantly running in an independent thread. Since ViiM SDK behaves like an invisible process, the developer can be exclusively focused on creating his application.

ViiM SDK provides six different ViiMUnits for advanced features with a simplistic approach, each with its own copy of the raw images. This allows the use of customized data within each unit, such as different images process sizes, meeting the application demands.

Because ViiM SDK is a cross platform library, it can operate in MacOSX, Linux and Windows, both in 32 and 64 bit architectures.


  • Cross platform

  • Threaded and thread safe

  • Parameters manipulation

  • Near and far threshold

  • Smooth depth

  • Matlab exporter/importer

  • Event based

  • Device handling

  • Units' creation

  • Multisensor

  • Stream selection

Unit Processes

icon viim

User Segmentation

Know More: pdf

ViiMUnitUser offers simple scene or user segmentation.

The former distinguishes between users
and static background while the latter detects multiple users with ID differentiation.

It provides events for certain actions allowing numerous options for the developer.

icon viim

User Cropping

Know More: pdf

ViiMUnitCropping removes the static background from the scene leaving only
the user in the foreground.

This enables its integration and interaction on any virtual scenario only limited by
the developer's creativity.

Available Soonicon viim

Face Analysis

Know More: pdf

ViiMUnitFace recognizes faces and returns an array of positions for the main characteristics (eyes, nose, mouth, etc.).
This array represents a mesh from which is easy to apply different layers creating unique visual effects.

This unit can likewise detect facial expressions such as smiling or frowning
and trigger events accordingly.

icon viim

Gesture Recognition

Know More: pdf

ViiMUnitGesture can detect several hand gestures ranging from the basic wave, hand open and close to more complex ones such

as swipes, drag, enter and backspace.

With full events support it offers innumerous options for scene interaction.

icon viim

Skeleton Tracking

Know More: pdf

ViiMUnitSkeleton does all the calculus seamlessly and provides easy access
to joint's position, quaternions, rotation angles and matrixes.

The system endures tracking of up to 15 skeletons.

icon viim

Optical Flow

Know More: pdf

ViiMUnitOpticalFlow detects the amount

of movement in the scene, computing
the velocity vector.

The supplied information is useful for countless applications involving interaction between elements on the screen.

Features Description

Cross platform
ViiM SDK runs on Mac OSX, Linux and Windows, both 32 and 64 bit machines.

Threaded and thread safe
Data will never get corrupted with thread safe images acquisition.

Smooth depth
Use a spatial and temporal smooth version of the depth image.

Parameters' manipulation
Customize all ViiM's high-level methods.

Near and far threshold
Easily control the sensors' field of view.

Matlab exporter/importer
Effortlessly export raw video from ViiM and use it in Matlab with our Matlab importer script.

Event based
Change your application behavior simply by listening to ViiM's events.

Device handling
Straightforward communication with the sensor: start, pause, resume or stop with one instruction.

Units' creation
Create your own Units and add them seamlessly to ViiM SDK.