Gesture Generator

555 views
Skip to first unread message

gopinder

unread,
Jan 13, 2011, 5:33:52 AM1/13/11
to OpenNI
hi all,

How gesture generator can be used to store new
gestures.If i want to add few more gestures like shaking head etc.

Regards,
Gopinder

Lior Cohen

unread,
Jan 13, 2011, 7:11:15 AM1/13/11
to openn...@googlegroups.com
Dear Gopinder,

In order to use a new focus gesture one needs to create a new gesture generator and replace the existing one with it. Note that with the current implementation of NITE one will lose the existing gestures (Click, Wave, RaiseHand) once the generator is replaced.

Creating a new focus gesture is difficult and there are many considerations to be taken when developing one. One of which is detecting the hand position once the gesture is done and provide it eventually to the Hand Generator (the hand tracking system), this is problematic when trying to use a gesture that is not a hand based gesture (like shaking head) because there is no guarantee as to where the hand is at.

If you still want to replace the gesture generator you can find a sample that demonstrate how to replace a Depth Generator (NiSampleModule) that you can use as a reference.

Best Regards,
Lior Cohen

hi all,

Regards,
Gopinder

--
You received this message because you are subscribed to the Google Groups "OpenNI" group.
To post to this group, send email to openn...@googlegroups.com.
To unsubscribe from this group, send email to openni-dev+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/openni-dev?hl=en.

Mehmet Yildirim

unread,
Jan 14, 2011, 9:28:30 AM1/14/11
to OpenNI
Hi,

If I replace the gesture generator with mine, does this mean I am not
able to use detectors such as wave detector etc... anymore?

regards

AttilioP

unread,
Jan 21, 2011, 5:20:01 AM1/21/11
to OpenNI
Dear Lion Cohen,

I am looking into the source code of OpenNI package in order to
understand how is difficult to replace the existing Gesture Generator.
Actually, my intention is to add a new Hand Gesture to the existing
set. Is it possible? Is there any example? Can you give some hint
about where to find the right source file?

Thank you.

Best regards,

Attilio

On Jan 13, 1:11 pm, Lior Cohen <Lior.Co...@PrimeSense.com> wrote:
> Dear Gopinder,
>
> In order to use a new focusgestureone needs to create a newgesturegenerator and replace the existing one with it. Note that with the current implementation of NITE one will lose the existing gestures (Click, Wave, RaiseHand) once the generator is replaced.
>
> Creating a new focusgestureis difficult and there are many considerations to be taken when developing one. One of which is detecting the hand position once thegestureis done and provide it eventually to the Hand Generator (the hand tracking system), this is problematic when trying to use agesturethat is not a hand basedgesture(like shaking head) because there is no guarantee as to where the hand is at.
>
> If you still want to replace thegesturegenerator you can find a sample that demonstrate how to replace a Depth Generator (NiSampleModule) that you can use as a reference.
>
> Best Regards,
> Lior Cohen
>
> -----Original Message-----
> From: openn...@googlegroups.com [mailto:openn...@googlegroups.com] On Behalf Of gopinder
> Sent: Thursday, January 13, 2011 12:34 PM
> To: OpenNI
> Subject: [OpenNI-dev]GestureGenerator
>
> hi all,
>
>               Howgesturegenerator can be used to store new
> gestures.If i want toaddfew more gestures like shaking head etc.

Lior Cohen

unread,
Jan 23, 2011, 1:23:18 PM1/23/11
to openn...@googlegroups.com
Dear Attilio,

Unfortunately, at the moment there is no straight way of adding additional focus gesture on top of the existing ones. This feature will be available in one of the next releases.

There is some workarounds that you might want to consider:

1) create an independent gesture generator (no code available for that, only an OpenNI sample - NiSampleModule, that could assist you on how to create a new module(generator)). After creating your own generator you need to register to it in order to get the GestureRecognizedCB and set the start session with its focus point when the focus was detected. On parallel you will need to seek for the other gestures using the regular NITE code.

2) Another option is to create two different applications that register to different gesture generators (NITE and your own) and one of the applications will provide the relevant information to the other. You can probably also consider in this scenario using the XnVMultiProcessFlowServer and XnVMultiProcessFlowClient for inter-process communication and passing the session information.

Or probably the best way is wait for the upcoming fix and in the meantime create your own gesture generator. You could test it as a separate component and when the fix will be introduce you will be able to use both gesture generators simultaneously with the same SessionManager.

Lior Cohen

unread,
Jan 23, 2011, 1:29:29 PM1/23/11
to openn...@googlegroups.com
Dear Mehmet Yildirim,

If you replace the gesture generator with one of your own you will still be able to use the NITE controls (WaveDetector, PushDetector...).
That's one of the beauties of OpenNI :-)

James Chu

unread,
Aug 4, 2012, 5:05:51 AM8/4/12
to openn...@googlegroups.com
hi Lior,

we followed your first instruction to create my own gesture generator and have two questions about how to cooperate with other NITE controls (PushDetector...etc).
First, we would like to utilize NITE's PushDetector to implement our own "click" gesture, however, it seems all NITE controls should be registered to
a session manager via "AddListener" and session manager required a gesture to start it.
Is that possible for a control to update without session manager or force a session manager to get into "in session" state in the beginning?

Second, if we have implemented our own gestures say G1, G2, G3.
could our custom gesture generator works with session manager, e.g.  p_sessionManager->Initialize(&context, "G1,G2", "G3") ?

Sorry for this many questions and really appreciate for your help!

Best,
James

> To unsubscribe from this group, send email to openni-dev+unsubscribe@googlegroups.com.


> For more options, visit this group athttp://groups.google.com/group/openni-dev?hl=en.
>
>

--
You received this message because you are subscribed to the Google Groups "OpenNI" group.
To post to this group, send email to openn...@googlegroups.com.

To unsubscribe from this group, send email to openni-dev+unsubscribe@googlegroups.com.


For more options, visit this group at http://groups.google.com/group/openni-dev?hl=en.

> To unsubscribe from this group, send email to openni-dev+unsubscribe@googlegroups.com.


> For more options, visit this group athttp://groups.google.com/group/openni-dev?hl=en.
>
>

--
You received this message because you are subscribed to the Google Groups "OpenNI" group.
To post to this group, send email to openn...@googlegroups.com.

To unsubscribe from this group, send email to openni-dev+unsubscribe@googlegroups.com.


For more options, visit this group at http://groups.google.com/group/openni-dev?hl=en.

> To unsubscribe from this group, send email to openni-dev+unsubscribe@googlegroups.com.


> For more options, visit this group athttp://groups.google.com/group/openni-dev?hl=en.
>
>

--
You received this message because you are subscribed to the Google Groups "OpenNI" group.
To post to this group, send email to openn...@googlegroups.com.

To unsubscribe from this group, send email to openni-dev+unsubscribe@googlegroups.com.

Reply all
Reply to author
Forward
0 new messages