Giter VIP home page Giter VIP logo

blockopenni's Introduction

Block OpenNI
------------
A C++ wrapper for OpenNI

2011-06-20:
This block is going through heavy remake and so old code/methods are mixed with new methods for the moment.
I will be changing the way things are handled at the moment when i'm finished. All for better support on multiple devices.





Basic description
-----------------

Support for several generators as Image, IR, Depth and User.
Skeleton tracking is also supported.




How to use
----------

You need to install the sensor drivers, OpenNI and NITE.
Note! PrimeSense drivers do not work with the Kinect. 


So here's a step-by-step installationg guide:
(The links you'll find here are the latest unstable at the time of writing)
OpenNI 1.3.2.3
Nite 1.4.1.2
SensorKinect 5.0.3.4


Windows 32bit:
--------------

Download/Install OpenNI:
http://openni.org/downloadfiles/opennimodules/openni-binaries/latest-unstable/163-openni-unstable-build-for-windows-x86-32-bit-v1-3-2/download

Download/Install Avin2's SensorKinect:
https://github.com/avin2/SensorKinect/blob/unstable/Bin/SensorKinect-Win-OpenSource32-5.0.3.4.msi

Download/Install NITE:
http://openni.org/downloadfiles/opennimodules/openni-compliant-middleware-binaries/latest-unstable/177-primesense-nite-unstable-build-for-windows-x86-32-bit-v1-4-1/download

At this moment you should now be able to run the samples in OpenNI. 
Go to OpenNI's folder and browse to /Samples/Bin/Release. 
Run NiViewer.exe. You should now be looking at a window with the RGB and Depth feed coming from the kinect



MacOSX 32bit:
-------------

1) Download/Install MacPorts
	(Snow Leopard 10.6) https://distfiles.macports.org/MacPorts/MacPorts-2.0.0-10.5-Leopard.dmg
	(Lion 10.7) https://distfiles.macports.org/MacPorts/MacPorts-2.0.0-10.7-Lion.dmg

2) Open the terminal, install libtool/libusb.
	2.1) Type and run: sudo port install libtool
	2.2) Type and run: sudo port install libusb-devel +universal


3) Download/Untar OpenNI
	http://openni.org/downloadfiles/opennimodules/openni-binaries/latest-unstable/162-openni-unstable-build-for-macosx-10-6-universal-x86x64-3264-bit-v1-3-2/download
	3.1) Open the terminal, goto openni's folder you just untar'ed.
	3.2) Type and run: sudo ./install.sh

4) Download Avin2's SensorKinect
	https://github.com/avin2/SensorKinect/blob/unstable/Bin/SensorKinect-Bin-MacOSX-v5.0.3.4.tar.bz2
	4.1) Open the terminal, goto SensorKinect's folder you just untar'ed.
	4.2) Type and run: sudo ./install.sh

5) Download NITE
	http://openni.org/downloadfiles/opennimodules/openni-compliant-middleware-binaries/latest-unstable/176-primesense-nite-unstable-build-for-macosx-10-6-universal-x86x64-3264-bit-v1-4-1/download
	4.1) Open the terminal, goto NITE's folder you just untar'ed.
	4.2) Type and run: sudo ./install.sh

At this moment you should now be able to run the samples in OpenNI. 
Go to OpenNI's folder and browse to /Samples/Bin/Release (use terminal). 
Run ./NiViewer. You should now be looking at a window with the RGB and Depth feed coming from the kinect

	
Linux:
	Check Avin2's SensorKinect repo (@github) for more information.

blockopenni's People

Contributors

chazmatazz avatar pixelnerve avatar pixelpusher avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

blockopenni's Issues

Examples prior to multi-kinect fail to build on Xcode 3.2.6 OS X 10.6.7

While Trying to compile BlockOpenNISkeleton I run across the following errors:\

$(CINDER_PATH)/blocks/BlockOpenNI/src/VOpenNIDevice.cpp:1693: error: no matching function for call to 'xn::Context::CreateProductionTree(xn::NodeInfo)'
$(CINDER_PATH)/blocks/BlockOpenNI/include/OpenNI/XnCppWrapper.h:4811: note: candidates are: XnStatus xn::Context::CreateProductionTree(xn::NodeInfo&)

This error occurs on lines 1713, 1733, and 1753 as well.

Also, there is an error regarding std::exception::exception() and not being able to pass a string to it.

 $(CINDER_PATH)/blocks/BlockOpenNI/src/VOpenNIDevice.cpp:1782: error: no matching function for call to 'std::exception::exception(const char*)'
 /Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/exception:59: note: candidates are: std::exception::exception()
 /Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/exception:57: note:                 std::exception::exception(const std::exception&)

I don't know if these are because you moved to Xcode 4 but I am currently unable to run xcode 4 on my primary development environment.

Any help is appreciated.

Ambigous calls against github head Cinder

These lines:
mColorTex.update( getColorImage() );
mDepthTex.update( getDepthImage24() ); // Histogram
Produce this error:

    Call to member function "update" is ambiguous.

In the latest Cinder. Is it supposed to work against some older Cinder version only? It seems that Cinder's Textures do not accept ImageSourceRef in their update method anymore.

Error initializing BlockOpenNISkeleton and MultipleKinects samples

While running BlockOpenNISkeleton with XML file everything works fine, when I try to create device with

_device0 = _manager->createDevice( V::NODE_TYPE_IMAGE | V::NODE_TYPE_DEPTH | V::NODE_TYPE_USER );

I get runtime error (EXC_BAD_ACCESS) in gen->GetMapOutputMode( mode ); (in OpenNIDevice::setResolution)

so I've decided to use xml file for this example, but now I am trying to run MultipleKinects and I get the same error in GetMapOutputMode. I was trying to init kinects from XML files

mDevice0 = mManager->createDevice( "configIR1.xml", true );
mDevice1 = mManager->createDevice( "configIR2.xml", true );

and it seems first kinect is initializing properly but on second I get :

(Device)  Error!  XN_STATUS_USB_SET_INTERFACE_FAILED
[OpenNIDeviceManager]  Couldn't create device from xml
[OpenNIDeviceManager]  Device '1' is not available

any help on this one??

Bug(?) in VOpenNIDevice::initFromXmlFile

did you change the line on purpose?

old:

 if( !_isUserOn && allocUserIfNoNode )

new (apr-05):

 if( _isUserOn && allocUserIfNoNode )

after updating to your latest version i couldn't get user detection anymore
changed the line back & it worked again

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.