joeltong.org
27Feb/100

FLaser on Youtube

Hi there,

Just posted 2 videos from my FLaser Ver 1.0 (2 years ago) on Youtube.  You can view it here:

An excerpt:
Preamble:
This project proposes a cost-effective solution of interacting with a projector screen using a laser pointer, via an ordinary webcam.

The system was deployed and scripted in Flash Actionscript 3.0, back in Dec 2007 to Jan 2008.

It subsequently won the Most Innovative Award and Best Exhibit at the Singapore Shell Science Fair 2008, was shortlisted by MOE to represent Singapore in the Taiwan International Science Fair (TISF) 2008, in addition to being an exhibited finalist at the A*STAR Singapore Science and Engineering Fair (SSEF) 2009.

For more information, please checkout http://blog.joeltong.org/ .

Method:
The system comprises of a screen image from a projector. A webcam is positioned to track the projector screen area.

The steps for successful detection are as follows:
1. Calibration - 4 Red dots are shown on-screen. Thresholding red, the system is able to pick out the distance between the four red dots, demarking the tracked active area by the webcam. A ratio is then computed which is used to position the mouse.
2. A red laser dot is then shone onscreen. Minor adjustment knobs compensate for the offset in terms of the computed position of the laser dot and its actual position, similar to zeroing in using a crosshair.
3. The system is ready to track the laser pointer. In this case, a much high threshold is used, from the fact that red laser beams have a much higher intensity from the surrounding background.

System has been shown to detect laser dot despite showing red noise. However, alternative algorithms are being devised fo9r the system for better background noise tolerance.

Do checkout the version shown at Shell Science Fair @ LINK. System is targeted at rhe Flash platform, and for home users.

For more enquiries,

Email: me {at} joeltong {dot} org.

Thanks!

Best regards,
Joel Tong

http://blog.joeltong.org/

22Feb/100

Radial Thresholding in AS3 (Webcam)

Perhaps one of the things I would like to do before NS - build a radial threshold filter.

Conventional threshold filters are constant throughout. This is means that if let's say the image threshold value is 170, then that threshold value is applied to the WHOLE image. That is pretty bad for some cameras.

Back when I was working on my DSI project, I suggested implementing a radial threshold. Bah, not enough time then. This time, modular approach, OOP-based, voila.

My aim is to implement a radial threshold with a 2D-based function. In some webcams, the distribution of light may not be even, even though it IS even. It's just picked up with bias. For example, let's say we want the threshold to be a logarithmic function. Then we would use y = ln (x) or something (sometimes this works especially if you want the threshold to level out sooner than later.

All we have to do is then input this expression into the code, then by doing per-pixel iteration, we would be able to map that certain value for the specific pixel with the corresponding threshold value onto the image. Now, in this case we will be plotting 2 graphs: one of the image and another of threshold versus the length of the line from the origin (centre of circle).

See the pic for more info ;)

Hopefully I can make an implementation fast enough to be used for video manipulation in AS3 =D

30Dec/090

Image Interaction System ver 2.0

Hi,

been attempting to do a rework of my image recognition software that I created a few years back. Won 2 awards at the Singapore Youth Science Festival Shell Science Fair, but I think the algo can be much more reliable and efficient with a newer method this time round.

Basically, been playing around with the GetColorBoundsRect() method which saves me tonnes of time trying to code a new algo to fit all the rectangular points. With a specific image that has the wanted area in white, I can use a divide and conquer recursive method to break up the object into smaller divisons. Here's the thing in action after 1 pass:

Hoping to proceed from there!

Rgds,
Joel Tong