gitmyhub

libfreenect

C ★ 3.8k updated 1y ago

Drivers and libraries for the Xbox Kinect device on Windows, Linux, and OS X

An open-source driver that lets your computer read depth images, color video, and audio from the original Xbox 360 Kinect sensor, with bindings for Python, Ruby, Java, and more.

CC++PythonRubyJavaC#setup: moderatecomplexity 3/5

Libfreenect is an open-source driver that lets you access data from the original Xbox 360 Kinect sensor on a regular computer. The Kinect was a motion-sensing peripheral that used a combination of a color camera, an infrared depth sensor, and a microphone array to track body movement and capture 3D spatial data without requiring the user to hold a controller. Microsoft built it for the Xbox 360, but enthusiasts and researchers quickly found ways to tap into its data stream on PCs.

This library provides that access on Linux, macOS, and Windows. Once connected and the driver installed, you can read the RGB color image from the camera, the depth image that shows how far each point in the scene is from the sensor, and audio from the microphone array. You can also control the motor that tilts the device, the indicator LED, and read values from the built-in accelerometer.

The library is written in C with wrappers available for C++, C#, Python, Ruby, Java, and ActionScript. A tool called fakenect lets you record a session to disk and play it back later without needing the physical hardware, which is useful for testing and development.

An important note: this library is for the original Kinect (model 1414 and similar). The newer Kinect v2 that shipped with the Xbox One uses a different and incompatible sensor design. A separate project, libfreenect2, exists for that device.

The project is maintained by the OpenKinect community and is licensed under a dual Apache v2 and GPL v2 license. It originated as a reverse-engineering effort shortly after the Kinect was released in 2010.

Where it fits