Cross-platform driver for the Microsoft Kinect Camera
libfreenect is an open source, cross platform development library for the Microsoft Kinect camera. It provides basic functionality to connect to the camera, set configuration values, retrieve (and in some cases decompress) images, and provides functionalty for the LED and Motor.
libfreenect provides access to devices via two structs:
Either or both of these structs are passed to the functions in order to interact with the hardware. The USB access is handled by libusb-1.0, which should work in a mostly non-blocking fashion across all platforms (see function documentation for specifics).
The main design goal of libfreenect is to provide a simple, usable reference implementation of the Kinect USB protocol for access via non-Xbox hardware. With this in mind, the library does not contain any algorithms relevant to computer vision usages of the camera.
If you are looking for machine vision algorithms, we recommend the OpenCV library, available at
If you are looking to use the kinect in a larger framework that may involve other depth sensors, we recommend the OpenNI framework, available at
Note that libfreenect can be used as a hardware node in OpenNI.