[sldev] Anyone here with OpenCV experience?

Jan Ciger jan.ciger at gmail.com
Thu May 21 13:04:49 PDT 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Philip Rosedale wrote:
> Has anyone here worked with camera-based gesture recognition before?  
> How about OpenCV?  Is OpenCV the best package for extracting basic head 
> position/gesture information from a camera image stream?  Merov and I 
> are pondering a Snowglobe project to detect head motion from simple 
> cameras and connect it to the SL Viewer. 

I have done something like that. First of all, OpenCV is does not do any
gesture recognition. It is an image processing library and you need to
know quite a bit about computer vision to be able to use it
meaningfully. I have found this book indispensable for that:
http://oreilly.com/catalog/9780596516130/ , plus a good basic computer
vision textbook.

If you want to track the orientation of the head with a webcam, that is
doable - NaturalPoint is selling infrared webcams that track either a
single point or a simple rig on your head and translate that to mouse
motion. That is easy enough to do. If that is all you want to do
(translate head motion to 2DOF mouse-like signal), OpenCV is even an
overkill - capture image, threshold it to extract the marker and measure
where it is compared to the initial position. Then use that difference
to steer camera.

The main issue you will have will be a cross-platform video capture
library. I have yet to find one that is not too buggy and actually works
without doing crazy stuff. OpenCV has some code for capturing video, but
that is mainly for debugging and shouldn't be used for production (it is
*really* buggy and slow).

On the other hand, if you want to do something more complex - e.g. full
6DOF tracking, OpenCV is a good starting point. For example, I have the
Minoru 3D webcam (http://www.minoru3d.com/) connected to a 3D tracker on
Linux that allows me to track both the position and orientation in space
- - like a 3D mouse. The tracker is made using OpenCV. However,
calibrating that is not something for an average Joe to do ...

Regards,

Jan


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFKFbPZn11XseNj94gRAmdkAJ9fbD8bpCVqK3KtJ1FTunFVSmVMTgCfRuvB
VABbYQzKrgfLkcCI8i8iclk=
=kMun
-----END PGP SIGNATURE-----


More information about the SLDev mailing list