Vlado - 30 June 2008 01:23 PM
You could modify touchlib and make a new filter , a red highpass.Whatever is bright red must be a blob , anything else should be discarded.
One way to slove this is the classic way we deal with the noisy signal in the DSP (digital signal processing).
Here is the scheme:
Lets assume that the following steps are done in fast succession and in-sync with the camera capture rate (Firefly MV camera will allow for this).
1. Red Laser off. Capture the camera Image #1. (this is considered to be a noise)
2. Red laser on. Capture the camera Image #2. (this is signal+noise)
Output Image = Image #2 - Image #1 (noise is canceled, thus all is left is a useful signal)
3. Go to step 1
This scheme will give you the output frame rate that is the half of the camera sampling frame rate, but it will elliminate most of the external factors (such as the environmental light and the light from a projector).
By the way, we could use the same technique in the IR based setup to remove the background noise.
This is a real-time (hardware) alternative to a static background filter implemented in TouchLib.
~Alex