Hi ,
I have been working with Kinect for quite a while now. I wanted to
know that is there a way to modify the depth Map of the Live sensor
data and feed the modified depth to the user generator for user
tracker application. Apparently there is no direct connection but User
Generator uses depth generator for tracking.
I have tried working with the Mock depth generator but it does not
seem to work on live depth data whereas works on recorded file as in
an example 'NiRecordSynthetic'.
I have also had a look on the microsoft-openni bridge but it seems to
work on Windows only, and i am using linux.
https://www.assembla.com/code/kinect-mssdk-openni-bridge/git/nodes/
Does anyone have an idea, how we can approach the problem.
Create a mock depth generator like what "NiRecordSynthetic" do.
When you create the user generator, you need to use xn::Query to make the user generator get data from the mock depth node.
> Hi , > I have been working with Kinect for quite a while now. I wanted to > know that is there a way to modify the depth Map of the Live sensor > data and feed the modified depth to the user generator for user > tracker application. Apparently there is no direct connection but User > Generator uses depth generator for tracking. > I have tried working with the Mock depth generator but it does not > seem to work on live depth data whereas works on recorded file as in > an example 'NiRecordSynthetic'. > I have also had a look on the microsoft-openni bridge but it seems to > work on Windows only, and i am using linux. > https://www.assembla.com/code/kinect-mssdk-openni-bridge/git/nodes/
> Does anyone have an idea, how we can approach the problem.
nRetVal =
g_Context.CreateMockNodeBasedOn(g_DepthGenerator,"MockDepth",g_mockdepth);
//nRetVal =
g_mockdepth.CreateBasedOn(g_DepthGenerator,"MockDepth"); // I also
tried this but did not work either
CHECK_RC(nRetVal, "Create mock depth node");
xn::Query xQuery;
xQuery.AddNeededNode("MockDepth");
// Adding the Skeletal and Pose detection capabilities
xQuery.AddSupportedCapability(XN_CAPABILITY_SKELETON);
xQuery.AddSupportedCapability(XN_CAPABILITY_POSE_DETECTION);
nRetVal = g_Context.FindExistingNode(XN_NODE_TYPE_USER,
g_UserGenerator);
if (nRetVal != XN_STATUS_OK) {
nRetVal = g_UserGenerator.Create(g_Context,&xQuery);
CHECK_RC(nRetVal, "Find user generator");
}
This is what is done in the while loop
{
g_Context.WaitAndUpdateAll();
g_DepthGenerator.GetMetaData(depthMD);
nRetVal = depthMD.MakeDataWritable();
//transformDepthMD(depthMD); // we could use this to modify the
depth map but for the time being i have commented it out
nRetVal = g_mockdepth.SetData(depthMD);
.....
.....
.....
.....
.....
.....
}
Problem:
Now the problem is there is no compilation error but in runtime there
is no output like nothing happens.
Do you have any idea what could be the problem thanks again :)
On May 2, 7:34 am, Heresy <kher...@gmail.com> wrote:
> Create a mock depth generator like what "NiRecordSynthetic" do.
> When you create the user generator, you need to use xn::Query to make the
> user generator get data from the mock depth node.
> > Hi ,
> > I have been working with Kinect for quite a while now. I wanted to
> > know that is there a way to modify the depth Map of the Live sensor
> > data and feed the modified depth to the user generator for user
> > tracker application. Apparently there is no direct connection but User
> > Generator uses depth generator for tracking.
> > I have tried working with the Mock depth generator but it does not
> > seem to work on live depth data whereas works on recorded file as in
> > an example 'NiRecordSynthetic'.
> > I have also had a look on the microsoft-openni bridge but it seems to
> > work on Windows only, and i am using linux.
> >https://www.assembla.com/code/kinect-mssdk-openni-bridge/git/nodes/
> > Does anyone have an idea, how we can approach the problem.
> nRetVal =
> g_Context.CreateMockNodeBasedOn(g_DepthGenerator,"MockDepth",g_mockdepth);
> //nRetVal =
> g_mockdepth.CreateBasedOn(g_DepthGenerator,"MockDepth"); // I also
> tried this but did not work either
> CHECK_RC(nRetVal, "Create mock depth node");
> xn::Query xQuery;
> xQuery.AddNeededNode("MockDepth");
> // Adding the Skeletal and Pose detection capabilities
> xQuery.AddSupportedCapability(XN_CAPABILITY_SKELETON);
> xQuery.AddSupportedCapability(XN_CAPABILITY_POSE_DETECTION);
> g_Context.WaitAndUpdateAll();
> g_DepthGenerator.GetMetaData(depthMD);
> nRetVal = depthMD.MakeDataWritable();
> //transformDepthMD(depthMD); // we could use this to modify the
> depth map but for the time being i have commented it out
> nRetVal = g_mockdepth.SetData(depthMD);
> .....
> .....
> .....
> .....
> .....
> .....
> }
> Problem:
> Now the problem is there is no compilation error but in runtime there
> is no output like nothing happens.
> Do you have any idea what could be the problem thanks again :)
> On May 2, 7:34 am, Heresy <kher...@gmail.com> wrote:
> > Create a mock depth generator like what "NiRecordSynthetic" do.
> > When you create the user generator, you need to use xn::Query to make the
> > user generator get data from the mock depth node.
> > > Hi ,
> > > I have been working with Kinect for quite a while now. I wanted to
> > > know that is there a way to modify the depth Map of the Live sensor
> > > data and feed the modified depth to the user generator for user
> > > tracker application. Apparently there is no direct connection but User
> > > Generator uses depth generator for tracking.
> > > I have tried working with the Mock depth generator but it does not
> > > seem to work on live depth data whereas works on recorded file as in
> > > an example 'NiRecordSynthetic'.
> > > I have also had a look on the microsoft-openni bridge but it seems to
> > > work on Windows only, and i am using linux.
> > >https://www.assembla.com/code/kinect-mssdk-openni-bridge/git/nodes/
> > > Does anyone have an idea, how we can approach the problem.
> Create a mock depth generator like what "NiRecordSynthetic" do.
> When you create the user generator, you need to use xn::Query to make the > user generator get data from the mock depth node.
>> Hi , >> I have been working with Kinect for quite a while now. I wanted to >> know that is there a way to modify the depth Map of the Live sensor >> data and feed the modified depth to the user generator for user >> tracker application. Apparently there is no direct connection but User >> Generator uses depth generator for tracking. >> I have tried working with the Mock depth generator but it does not >> seem to work on live depth data whereas works on recorded file as in >> an example 'NiRecordSynthetic'. >> I have also had a look on the microsoft-openni bridge but it seems to >> work on Windows only, and i am using linux. >> https://www.assembla.com/code/kinect-mssdk-openni-bridge/git/nodes/
>> Does anyone have an idea, how we can approach the problem.
For some reason while using this code it won't ever go past the look for pose part. So it's detecting obstacles/human beings but somehow not the psi pose.
While using the camera instead of the mock node everything runs smoothly. I'm kinda confused tbh
Am Montag, 7. Mai 2012 03:30:09 UTC+2 schrieb Heresy:
> Here is an example to modify the OpenNI sample "NiUserTracker"
> http://goo.gl/G5fcS
> Heresy於 2012年5月2日星期三UTC+8下午1時34分49秒寫道:
>> Create a mock depth generator like what "NiRecordSynthetic" do.
>> When you create the user generator, you need to use xn::Query to make the >> user generator get data from the mock depth node.
>>> Hi , >>> I have been working with Kinect for quite a while now. I wanted to >>> know that is there a way to modify the depth Map of the Live sensor >>> data and feed the modified depth to the user generator for user >>> tracker application. Apparently there is no direct connection but User >>> Generator uses depth generator for tracking. >>> I have tried working with the Mock depth generator but it does not >>> seem to work on live depth data whereas works on recorded file as in >>> an example 'NiRecordSynthetic'. >>> I have also had a look on the microsoft-openni bridge but it seems to >>> work on Windows only, and i am using linux. >>> https://www.assembla.com/code/kinect-mssdk-openni-bridge/git/nodes/
>>> Does anyone have an idea, how we can approach the problem.