Saturday, December 30, 2006

Gesture Recognition using Webcam and Laser Pointer

Controlling Windows Media Player:




I love listening to music on my laptop, but changing tracks is a real pain since I have to reach for the keyboard every time I feel like changing a song (and also because I'm very lazy)! Well, as the old saying goes, "laziness is the seed from which inventions flower". Okay, even though I just made that up, it's no less true! Anyway, I thought that it would be great if I could somehow give visual “gesture” commands to my laptop and control Windows Media Player without having to touch the keyboard. So, I fired up my code editor and wrote a laser gesture recognition program which currently recognizes up to eight visual gestures (left, right, up, down, 2 downward diagonals and 2 upward diagonals). Check out the videos above. One video shows a webcam view from the program and the other one shows how I’m controlling Windows Media Player with a laser beam.

Well, this isn’t the first time I created a laser control system. A few months back, I wrote a program which allowed me to create hotspots inside my house which could be activated with a laser beam. Each hotspot was programmed to take a pre-defined action. However, the problem with creating hotspots is that you have to remember where they are. If your room’s dark, you’ll have a really hard time finding and activating them. However, with gesture recognition, all you have to do is make a gesture anywhere in the camera’s field of view and that’s it! Well, here's a screenshot of my old program:


What next? Well, if I ever manage to hook up things in my house with my computer, I would love to create a virtual, laser controlled switchboard sorta thing to control them! Now, who needs a remote control when you can control everything with a laser pointer??

I’d love to hear your wonderful ideas and suggestions.

Keep visiting and have a HAPPY NEW YEAR!

Thursday, December 28, 2006

LED Ping Pong and Laser Video Projector


Here are two cool projects I found on the net while I was googling. The first one, "LED Dot Matrix Pong", is a multiplayer ping pong game which is played on a 5x7 board of LEDs. I've gotta admit it's really cool! I'd love to make one myself someday. :)


The second project is also really neat. It's a laser video projector which uses a single laser and 16 rotating mirrors to project video on a piece of paper. Pretty cool, eh? Be sure to watch the videos.

Monday, December 25, 2006

LaserSketch: Doodling with lasers!


Wouldn’t it be great if we could draw things on a computer without using a mouse? I really liked this idea, so I created a program which draws things by tracking the movements of a laser dot using a webcam. I didn’t have a whole lot of time for this since school stuff is keeping me slightly busy. Therefore, I just modified Andrew Kirillov’s motion detection code into a laser tracker. I also realized that his image acquisition code was a bit faster than mine. So far, I've been able to achieve upto 23 fps with this code. Well, I still have to work on improving this program. I might also modify it so that it allows me to control a mouse pointer with a laser beam. :)

Merry Christmas!

Tuesday, December 12, 2006

Laser Guided Camera Panner!!

Laser Test:


The Great Candle Act:


Screenshot of my program:



Hi everyone! I’ve just made the most exciting thing I’ve ever made in my whole entire life. Yup, it’s the laser guided camera panner I was talking about! I’ve increased the angle of rotation of my ol’ parallel port controlled floppy drive camera panner by making some small mechanical adjustments. I’ve written a program which captures images from my webcam and scans those images for the brightest pixel. This bright pixel is usually a laser dot in this experiment. After finding the laser dot, it determines its position and moves the floppy drive stepper motor to turn the camera towards it. Check out my YouTube videos above to see it in action!

Since my code searches for the brightest pixel, it even works with candle light. Not only that, it can also track infrared light (which is invisible to the naked eye!). I used my TV remote as an infrared light source, and my camera tracked it quite nicely (not shown in the videos).

My future plan is to modify my program to use motion tracking instead of finding the brightest pixel for tracking moving objects. This way, the camera panner will be able to track objects which are moving without…“candles”! :)

As always, I’d love to hear your comments and ideas… :)

Saturday, December 09, 2006

My first article...


Hello everyone!

Today, I have published my first article. Check it out: http://www.codeproject.com/cs/system/floppystepper.asp. It's on controlling floppy drive stepper motors using our parallel port. Some guys were asking me to write an article on it. I hope you find it interesting.

Remember the LED flashing Morse code video I created? Kevin D. Wolf has actually decrypted it using a cool software he created which analyzed the on/off duration of the LED and translated them to English! I've gotta admit, it's awesome!