Skip to content

About PrimeSense NiTE

Heresy edited this page Nov 6, 2013 · 6 revisions

Warning

PrimeSense NiTE is not an OpenSource library, and there are some usage limits.

One of the most important, NiTE only allow to been used with "Authorized Hardware".

c. You shall not (and shall not permit third parties to): (a) integrate the NITE with any products other than the Authorized Hardware; (b) distribute the NITE in any manner; (c) use or make available the NITE pursuant to an open source license; (d) modify the NITE; or (e) change, obscure or delete any proprietary notices or legends which appear in the NITE. You understand and agree that under no circumstances will You (or will You allow distributors, resellers or agents to) distribute stand-alone copies or versions of the NITE.

Please check the full document: http://www.openni.org/nite-licensing-and-distribution-terms/

So even the virtual device could be used with NiTE (via set extra property data), it is NOT allowed to use NiTE with other depth sensor.

Device URI

NiTE sould detect the device URI when create tracker object. I don't know the vaild rule, but there is a workable URI for virtual device.

\OpenNI2\VirtualDevice\Kinect

If the virtual device need to been used with NiTE, please use this URI.

Extra property

To make the OpenNI device could be used with NiTE, the dpeth VideoStream must provide some extra property data. The required property include:

XN_STREAM_PROPERTY_CONST_SHIFT	
XN_STREAM_PROPERTY_PARAM_COEFF		
XN_STREAM_PROPERTY_SHIFT_SCALE		
XN_STREAM_PROPERTY_MAX_SHIFT				
XN_STREAM_PROPERTY_S2D_TABLE				
XN_STREAM_PROPERTY_D2S_TABLE			
XN_STREAM_PROPERTY_ZERO_PLANE_DISTANCE
XN_STREAM_PROPERTY_ZERO_PLANE_PIXEL_SIZE
XN_STREAM_PROPERTY_EMITTER_DCMOS_DISTANCE

This properties are defined in PS1080.h.

These property data could be get from the original depth VideoStream (of Kinect or ASUS Xtion).

For example:

char* pData = new char[8];
rStream.getProperty( XN_STREAM_PROPERTY_CONST_SHIFT, pData, 8 );
pStream->setProperty( XN_STREAM_PROPERTY_CONST_SHIFT, pData, 8 );

The rStream is the depth VideoStream of Kinect/Xtion, the pStream is the VideoStream of virtual device.

You can find a full example code in https://github.com/VIML/VirtualDeviceForOpenNI2/tree/master/Samples/NiTESample

Clone this wiki locally