github github
  • Home
  • Pricing and Signup
  • Training
  • Gist
  • Blog
  • Login

OpenKinect is using GitHub to share code with you!

GitHub is more than just a place to share code. It's a place to keep tabs on your favorite developers and projects, easily contribute fixes and new features, and visualize what's going on inside your codebase!

Sign Up Now

Free for open source

OpenKinect / libfreenect

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
    • 426
    • 76
  • Source
  • Commits
  • Network
  • Pull Requests (3)
  • Issues (12)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Switch Branches (1)
    • master ✓
  • Switch Tags (0)
  • Branch List
Sending Request…
Downloads

Drivers and libraries for the Xbox Kinect device on WIndows, Linux, and OS X — Read more

  Cancel

http://openkinect.org

  Cancel
  • HTTP
  • Git Read-Only

This URL has Read+Write access

Cleaned up python demos 
Brandyn A. White (author)
Fri Nov 26 17:55:54 -0800 2010
qdot (committer)
Fri Nov 26 18:18:40 -0800 2010
commit  33184ded49ffc55416f5
tree    c59bbf14076f4219cca3
parent  3ea69a0686833427ab28
libfreenect /
name age
history
message
file .gitignore Tue Nov 23 01:36:51 -0800 2010 Add Mac .DS_Store files to .gitignore [netpro2k]
file APACHE20 Wed Nov 10 23:15:59 -0800 2010 Updated drivers [JoshBlake]
file CMakeLists.txt Fri Nov 26 15:53:16 -0800 2010 Added an include reference to libusb_1_include_... [amiller]
file GPL2 Mon Nov 15 04:27:47 -0800 2010 Add new license headers and files [marcan]
file HACKING Sat Nov 20 10:48:09 -0800 2010 Update HACKING a bit and clean up some indentat... [marcan]
file README.asciidoc Mon Nov 22 23:51:41 -0800 2010 Cleaned up the README finally. [qdot]
directory cmake_modules/ Wed Nov 24 18:14:11 -0800 2010 Remove unreferenced cmake modules. [zarvox]
directory doc/ Tue Nov 16 10:49:00 -0800 2010 Added asciidoc with protocol information, compi... [qdot]
directory examples/ Fri Nov 26 11:49:25 -0800 2010 Added state retrieval for accelerometer and til... [stephanemagnenat]
directory fakenect/ Fri Nov 26 15:27:26 -0800 2010 Minor cleanups [Brandyn A. White]
directory include/ Wed Nov 24 20:29:52 -0800 2010 merging master locally [tfoote]
directory platform/ Tue Nov 23 01:35:50 -0800 2010 Update Homebrew Formula for new repository stru... [netpro2k]
directory src/ Fri Nov 26 17:09:08 -0800 2010 Fix dropped packet count calculation [marcan]
directory udev/ Mon Nov 22 21:56:42 -0800 2010 Udev rule for Kinect USB [tweakt]
directory wrappers/ Fri Nov 26 17:55:54 -0800 2010 Cleaned up python demos [Brandyn A. White]
README.asciidoc

libfreenect

Ongoing Development and Maintenance by the OpenKinect Community

http://www.openkinect.org

  • Original Code and Engineering: Hector Martin (marcan)

  • Community Lead: Josh Blake (JoshB)

  • Integration: Kyle Machulis (qDot)

Description

libfreenect is the core library for accessing the Microsoft Kinect USB camera. Currently, the library supports access to:

  • RGB and Depth Images

  • Motors

  • Accelerometer

  • LED

Audio is currently being worked on.

Information Resources

Information about the OpenKinect project can be found at

http://www.openkinect.org

For questions, support, and discussion, check out the google groups mailing list at

http://groups.google.com/group/openkinect

Or the IRC channel at

#openkinect on Freenode

Requirements

You’ll need

  • libusb-1.0 >= 1.0.3

  • Cmake >= 2.6

Outside of that, you may also want opengl and other things. See the platform specifics section for anything needed by your platform to run examples.

Basic Compiling Instructions

To use CMake:

  • Make a directory somewhere. Like, say, build in your repo directory.

  • Go into that directory

  • Type cmake ..

  • Watch the magic happen

  • After this, just run make and you’ll be fine.

  • If you want to use an IDE or whatever, well, you’ll figure it out.

Platform Specifics

OS X

Note AS OF 2010-11-16, WE HAVE UPDATED THIS PATCH. IF YOU HAVE ALREADY PATCHED, PLEASE REPATCH AND REINSTALL LIBUSB TO GET OS X WORKING AT FULL 30FPS.

You will need to pull the matching version of libusb for this patch. This is NOT v1.0.8, this is a change based off the repo head as of 2010-10-16. To get a tar.gz with the snapshot of the repo at this point, hit the link below.

http://git.libusb.org/?p=libusb.git;a=snapshot;h=7da756e09fd97efad2b35b5cee0e2b2550aac2cb;sf=tgz;js=1

Once you’ve gotten that tarball and unziped it somewhere, patch using the files in platform/osx/. Just go to the root directory of the libusb source and run

patch -p1 < [path_to_OpenKinectRepo]/platform/osx/libusb-osx-kinect.diff

Recompile libusb and put it wherever CMake will look (/usr/local/lib, /usr/lib, etc…). If you’re using a package manager like fink, macports, or homebrew, I’m going to expect you know what your doing and can deal with this. If not, see IRC channel.

OpenGL and GLUT come as prebuilt frameworks with OS X, so that should do it for requirements.

Linux

Should "just work" if you have the following packages installed:

  • libusb-1.0-dev

If you want to see the glview example:

  • freeglut3-dev (or whatever freeglut dev package your distro has)

  • libxmu-dev

  • libxi-dev

udev rules are available in the platform/linux directory so that you are not required to run as root.

Windows

This library does not work on windows currently. We’re trying to get something going ASAP though. Watch the mailing list for updates.

Licensing

The libfreenect project is covered under a dual Apache v2/GPL v2 license. The licensing criteria are listed below, as well as at the top of each source file in the repo.

This file is part of the OpenKinect Project. http://www.openkinect.org

Copyright (c) 2010 individual OpenKinect contributors. See the CONTRIB
file for details.

This code is licensed to you under the terms of the Apache License,
version 2.0, or, at your option, the terms of the GNU General Public
License, version 2.0. See the APACHE20 and GPL2 files for the text of
the licenses, or the following URLs:
http://www.apache.org/licenses/LICENSE-2.0
http://www.gnu.org/licenses/gpl-2.0.txt

If you redistribute this file in source form, modified or unmodified,
you may:

- Leave this header intact and distribute it under the same terms,
  accompanying it with the APACHE20 and GPL2 files, or
- Delete the Apache 2.0 clause and accompany it with the GPL2 file, or
- Delete the GPL v2 clause and accompany it with the APACHE20 file

In all cases you must keep the copyright notice intact and include a
copy of the CONTRIB file.

Binary distributions must follow the binary distribution requirements
of either License.
Dedicated Server Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
  • Blog
  • Support
  • Training
  • Job Board
  • Shop
  • Contact
  • API
  • Status
  • © 2010 GitHub Inc. All rights reserved.
  • Terms of Service
  • Privacy
  • Security
  • English
  • Deutsch
  • Français
  • 日本語
  • Português (BR)
  • Русский
  • 中文
  • See all available languages

Your current locale selection: English. Choose another?

  • English
  • Afrikaans
  • Català
  • Čeština
  • Deutsch
  • Español
  • Français
  • Hrvatski
  • Indonesia
  • Italiano
  • 日本語
  • Nederlands
  • Norsk
  • Polski
  • Português (BR)
  • Русский
  • Српски
  • Svenska
  • 中文

Keyboard Shortcuts

Site wide shortcuts

s
Focus site search
?
Bring up this help dialog

Commit list

j
Move selected down
k
Move selected up
t
Open tree
p
Open parent
c or o or enter
Open commit

Pull request list

j
Move selected down
k
Move selected up
o or enter
Open issue

Issues

j
Move selected down
k
Move selected up
x
Toggle select target
o or enter
Open issue
I
Mark selected as read
U
Mark selected as unread
e
Close selected
y
Remove selected from view
c
Create issue
l
Create label
i
Back to inbox
u
Back to issues
/
Focus issues search

Network Graph

← or h
Scroll left
→ or l
Scroll right
↑ or k
Scroll up
↓ or j
Scroll down
t
Toggle visibility of head labels
shift ← or shift h
Scroll all the way left
shift → or shift l
Scroll all the way right
shift ↑ or shift k
Scroll all the way up
shift ↓ or shift j
Scroll all the way down