Webcam Signature is written in Visual C# Express 2008.
This program is an offshoot from my project to create a hand based webcam mouse that works well.
If you have some computer vision code you want to share or you want to help develop this program, just contact me and we can arrange something.
I am trying to win a coding contest on http://www.donationcoder.com.
Some Comments From the Source Code
// Webcam Signature 1.1
// Created by Eric Wong
// Copyright 2008
// This is open source software licensed under the GNU GENERAL PUBLIC LICENSE V3.
// You must share your source code if you utilize this code in your program.
// I wish to promote the development of computer vision so that it is easy to use
// for casual users and programmers, as well as advanced ones. Right now, many of the
// techniques used in computer vision are quite archaic and without easy to understand
// coding. Please share.
// Please link back to the website below if you use this code.
// Feel free to contact me at moc.liamg|erutciPnIoediV#moc.liamg|erutciPnIoediV if there are any questions
// or if you would like to help develop this project.
// June 20th, 3008
This program allows a user to write his/her name with a webcam and a colored object.
// The program tracks colors to determine what to draw and creates an array of points (ArrayList SignaturePoints)
// based on the path that the colored object moves.
// The program creates smooth signatures by drawing cardinal splines through the array of points
// where possible.
The original purpose of Webcam Signature is to create a mouse moving program
// that just utilizes a person's hands with no other objects needed . This is still
// the long term goal of the project.
// The tracking code is located in the region "Core Code".
// The most important function is private int GetPoint(….)
// This function applies the background filtering and looks at the pixels in the images
// captured from the webcam to find the pixels with the wanted colors.
// It then averages the location of the valid pixels to determine at what point on the screen
// the user is referencing.
// The program utilizes DShowNet to interface with the webcam. It uses a really
// old version (1.0), because I found it to be faster than the new version (2.0).
// However, I have not extensively tested this and and likely incorporate version 2.0
// into the program later.
// The program is hard coded for a 640x480 webcam resolution at 20fps.
// User defined resolutions will be introduced in version 2.0.
// This version of Webcam Signature introduces background filtering.
// In the next version, we need to improve the tracking of the program near the edges of the captured
// webcam images. We also need to code the dialation and erosion functions to reduce noise.
// Right now, the program tracks really accurately when there is even lighting in the room and the color
// of the object stands out. It also works really well when you use a flashlight in place of a pen.