Sunday, August 27, 2006

Motion Detection and Input Devices

Evening.

Since I finished work today, I've been doing research on possible motion capture and input devices for the weather room.

An *extremely* viable option seems to be using flash 8.

However, whatever program we choose to write this in we're stuck with for the whole implementation, so we need to pick something that is fast, and stable. ( Im not saying flash isnt, Im just saying we should be careful ).

So I'll have to speak to the lecturers on wednesday about this. So far I'm leaning towards one of two programs.

Either Flash 8, or a java based program called 'Processing'. ( alternatively I could just code the whole thing in C++ or the likes ).

The reason I'm leaning towards flash8, is I know it can be done!

I've seen something on the internet that would be absolutely perfect. If you've seen the movie "Minority Report", then this should be pretty familiar. You've got a 'glove'. This glove has two LED's attached to two fingers. The two 'colours' are recorded by the program and stored. Then, by bringing the two led's together, the user effectively 'clicks'. To 'unclick' he simply drags the two fingers away again.

That would be INSANELY good for our assignment.

the other option would be to track the colour of the skin on peoples hands. and use two hands the same way the two fingers would work.

So far, I know how to get webcam data into flash. And I know how to isolate a colour from this stream. What Im having troubles with is tracking this colour across the screen.

When you get the RGB value from the Bitmap image saved from the webcam, it's very accurate. It's a hex colour. There's no +/- leway. I can then say 'any colour that is different to this colour, remove it'. But since the colour picking is SO fine, it deletes most of the image bar a few specks here and there.

What I've got to figure out, is a way to increase the area of colour, even by a few hex digits either way... just to give us some leway. There might be a way to do this in flash, I just have to look a bit further.
More as it happens.