1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
== 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
We are also on twitter at
http://twitter.com/openkinect
=== Requirements
For the driver, you'll need
- libusb-1.0 >= 1.0.3 (*nix and OS X)
- libusb-win32 (Windows)
- Cmake >= 2.6 (All platforms)
For the glview sample, you'll need
- OpenGL
- glut
- pthreads (Either platform provided or pthread-win32 for windows)
For links to the software listed, see http://openkinect.org/wiki/Getting_Started#Dependencies
See the platform specifics section for other information specific to
the platform you may be working on.
=== 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
You need to tell configure to include some necessary frameworks:
./configure LDFLAGS='-framework IOKit -framework CoreFoundation'
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
Windows support is now available in libfreenect. The inf files in the
platform/windows directory can be used for installing the device, and
the library will need libusb-win32 to compile.
==== Wrappers
libfreenect has interface to several languages. Look in the wrappers/
directory for them:
- C (using a synchronous API)
- python
- actionscript
- C#
- Java (JNA)
=== 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.
----------
|