PyOpenNI is a project integrating the OpenNI computer vision library on Python.
It is based on onipy but adds many improvements to it:
- Implemented more features.
- Some capabilities are now exposed!
- Polymorphism on production nodes is handled correctly.
- Removed unnecessary
OpenNI
prefixes. - Uses CMake, the popular cross-platform buildsystem, to configure & compile the bindings.
This way, it autodetects needed libraries and warns you if they're not found. - Code cleanup and formatted according to PEP 8 rules.
- Directory structure simplified.
- Errors are handled gracefully through the class
OpenNIError
. - Re-wrote wrapper's core to make it more robust and avoid crashes.
- New! Access depth map efficiently! See the commit for details.
- Callbacks are now completely supported!
- Some exposed features are now documented in Python.
PyOpenNI is written with the Boost.Python libraries. PyOpenNI is released under the GNU LGPL version 3.
Note: Currently, not all features are being exposed to Python (see the status page). We are working to add more, but if you want to accelerate this process you're encouraged to collaborate. Contact me if you wish to help develop PyOpenNI. See the github page if you want to submit a bug or a feature request. Thanks!
Things you'll need:
- GIT to download
- OpenNI and Python 2.7 or higher
- CMake
- A compiler for your platform (GCC, XCode, VS, MinGW, ...)
Note: if you have installed Python via a package manager, you'll also need the development files, because sometimes the CPython API is used directly.
Via APT (if you are on Debian / Ubuntu):
sudo apt-get install cmake build-essential git-core \
python-dev libboost-python-dev
Then, assuming Git and CMake are installed and in your PATH:
git clone https://github.com/jmendeth/PyOpenNI.git
mkdir PyOpenNI-build
cd PyOpenNI-build
cmake ../PyOpenNI
# Build with your compiler
That's it! The finished module is at lib/openni.<ext>
; just copy it to your Python modules' directory.
Instructions for specific platforms can be found on the wiki.
Still in trouble? Signup on Github (it's free!) and ask for support.
To import the module:
import openni
and, if you prefer, you can also
from openni import *
so you don't have to type this annonying openni.
before the class names.
To get started, I suggest you to see the samples at the examples/
folder.
And, to look at the documentation of PyOpenNI:
help(openni) #Help about the whole module
help(openni.Context) #Help about a specific class
help(openni.Context.init) #Help about a specific function