Moving Images using multi-touch user interface

48 views
Skip to first unread message

sharon brizinov

unread,
Jan 10, 2011, 2:52:19 PM1/10/11
to OpenNI
Hi guys.
I have seen some very cool applications (using kinect/primesense
sensor), where you can move pictures using both hands, in a multi
touch way..
I was wandering how to do that, maybe someone can send me a ready C#
application or even source code if possible, or just explain the
theory behind it?

Thanks a lot,
Sharon Brizinov

Dan

unread,
Jan 10, 2011, 3:58:04 PM1/10/11
to OpenNI
We did a multi-touch demo a while back. The theory isn't that complex.
There are really two bits.

1. When is a hand touching?
2. When the hand releases, what do you do?

For touching, the straightforward approach is to use a depth
threshold. When the hand is close enough to the sensor, it creates a
contact with the image. When you pull back, it let's go. We did a demo
a while back where we used a grasp detector that we wrote to indicate
when we were touching. That works very well, but you obviously need to
code up a grasp detector which isn't as simple as a depth threshold
approach. One interesting concept might be to just measure the depth
from the shoulders or torso. When the hand extends from the body, it's
touching.

When the hand releases, you'll need to transform the image somehow. In
multi-touch, you have two operations that you're looking for, rotation
and scaling. For scaling, you can just compute the distance between
the hands at touch and at release. The relative scale of those
distances would be the scale of the image. For rotation, you can just
make a vector from left to right at touch and at release and compute
the rotation of that vector.

You could also add translation for a single touch.

Anyway, that's the high level stuff. I can elaborate on things if
you'd like (and ask the guys on the team that wrote the code if it
get's complex. ;) )

dba

sharon brizinov

unread,
Jan 11, 2011, 3:19:20 PM1/11/11
to OpenNI
Nice,
Perhaps do you have a ready sample to email me?
I would like to play with it if possible :)
Thanks!!

Mike

unread,
Jan 11, 2011, 4:22:36 PM1/11/11
to OpenNI
For that matter, if anyone has any c# examples for doing this sort of
thing, I think a lot of people would be interested, myself included.

Dan

unread,
Jan 12, 2011, 10:02:00 AM1/12/11
to OpenNI
Our software is not available without a license agreement at this
time, so I cannot share the sample and our SDK that powers it. If we
do a freely available version in the near future, I'll make sure to
update this thread.

dba

Dan

unread,
Jan 28, 2011, 4:14:55 PM1/28/11
to OpenNI
We've just announced the release of a Free Community Edition of our
software in this thread:
http://groups.google.com/group/openni-dev/browse_thread/thread/de509d002e9323b6/a94402dc273a2e9d?show_docid=a94402dc273a2e9d

If you're interested in taking a look, it has some UI samples that use
our library for hand tracking in C#.

dba

Shichao Ou

unread,
Jan 28, 2011, 5:44:00 PM1/28/11
to openn...@googlegroups.com
Looks fantastic! Thanks for sharing.

--
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.


Reply all
Reply to author
Forward
0 new messages