-
Notifications
You must be signed in to change notification settings - Fork 3
About PrimeSense NiTE
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.
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.
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