What is Touchless?
Touchless SDK is a simple webcam object tracker created by Mike Wasserman. This means it processes the image from webcam and recognizes position of the objects that you indicate as markers. Thus it can be used as additional input device with multiple "cursors". So it works like multi-touch but is "touchless" :-)
Original project page is here: http://touchless.codeplex.com/
Touchless SL is port of the Touchless SDK to Silverlight 4 to show how the new webcam API can be used for image processing in the browser. The source code is published under Microsoft Public License (Ms-PL).
Instructions
This demo requires Silverlight 4 Beta - please download it here: http://silverlight.net/getstarted/silverlight-4-beta/
- Make sure the webcam you want to use is selected from the drop-down list and click the "Start" button. You should see the video preview in the main area.
- Switch to the "Add markers" page. Hold the object you want to use as a marker in front of the camera and click the 'Add marker' button. The image will freeze and you should use your mouse to drag a circle to indicate the marker on the image. After that you should see marker properties in the list on left and marker outline highlighted in the main area. Now you can add more markers. Bright colored objects work best here.
- Switch to the "Run demo" and click on the button:
- ImageDemo - use two markers to scale, rotate and translate an image shown on screen.
TODO List
- This code is based on my earlier attempt to port Touchless SDK to WPF that I did over a year ago. Thus it wasn't updated with the latest changes to the original project.
- The performance of MediaStreamSource is not very good. Generated overlay visibly lags behind the video stream. First attempt to reimplement with WriteableBitmap or find other alternative.
- Right-now only the basic Image Demo is implement. Should add more fun demos.
- Add fullscreen mode.
- Store marker data in IsolatedStorage.
Download
Similar projects
- Silverlight 4 Augmented Reality Proof Of Concept - in this demo René Schulte uses NyARToolkitCS (managed version of the well known ArToolkit library) for recognizing AR markers. This is definitively on my list to learn more.
- BugCamSmash – Motion Detection with Silverlight 4 Beta - Adam Kiney created a game where you use your hands to smash virtual bugs on your desk.
- EmguCV is a cross platform .NET managed implementation for the Intel OpenCV image processing library. Things could be very interesting if someone would port this library to Silverlight.