Skip to content
Freenect wrapper for rust
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
src
.gitmodules
Cargo.toml
LICENSE
README.md

README.md

Freenect-rs

freenect-rs is a rust wrapper to interact with libfreenect. It can be used to fetch rgb and depth data from Kinect and to control its motor.

Documentation

See https://docs.rs/freenectrs

Example

The example directory contains a more complete example. Run it with cargo run --release --example kinect_live.

use freenectrs::freenect;
// Init with video functionality
let ctx = freenect::FreenectContext::init_with_video().unwrap();
// Open first device
let device = ctx.open_device(0).unwrap();
// Setup mode for this device
device.set_depth_mode(freenect::FreenectResolution::Medium, freenect::FreenectDepthFormat::MM).unwrap();
device.set_video_mode(freenect::FreenectResolution::Medium, freenect::FreenectVideoFormat::Rgb).unwrap();
// Get rgb and depth stream
let dstream = device.depth_stream().unwrap();
let vstream = device.video_stream().unwrap();
// Start the main-loop-thread
ctx.spawn_process_thread().unwrap();
// Fetch the video and depth frames
if let Ok((data, timestamp)) = dstream.receiver.try_recv() {
       // ... handle depth data
}
if let Ok((data, timestamp)) = vstream.receiver.try_recv() {
       // ... handle rgb data
}
ctx.stop_process_thread().unwrap();
You can’t perform that action at this time.