5 posts tagged “multi-touch”
I'm excited that I was able to get an account at Shapeways. It is a 3D printing service that will allow me to create some funky cold fiducials (yes, cheesy 80's reference) for my DI table.
Below is a screeny of an OpenCV port to Processing. Blob detection in under 100 LoC. The top two screens are raw camera output, the bottom left is the background subtraction image and the bottom right is the processed blob detection with x/y coordinates. Looks like it won't take much to port output via TUIO and send directly to Flash. I have some light sensors laying around and may try to hook 'em up and adjust brightness/contrast/tolerance based on outside light conditions.
OpenCV is very cool and Processing makes it easily accessible and joy to code.
Nothing major but I am too excited! I have simple blob detection working in AS3. The swf is less than 5k and it works better than I expected (I guessed at values and got pretty much spot on). I know each slate is going to have different values due to infrared intensity, ftir, camera sensitivity/distance/other adjustments, etc. I thought that I would waste a lot of time adjusting sensitivity levels but detection happens right when I touch the acrylic when using different fingers and hands. Once I get to refactoring I'll create easy to use adjustments slider knobs or something.
Now on to the interesting and fun part . . . creating event handlers multi input based event handlers.
Robotics has always been a fascination of mine and think home made "fabbers" are a great practical use of the technology. Currently, I'm in the planning stages of building a "fabber" based on the RepRapOne 1.0 (Darwin). I chose this over the Fab@Home after a lot of forum digging and hardware research. I need some automated way of creating pyicons for my touch table. Pictures, diagrams, etc. coming soon.
So I have decided to finally blog about my multi-touch development. I started with a 3' x 2' arcylic (which is still wrapped in the bedroom closet) but decided to start with something much more portable.
Yes, that is an old school 9V battery hook-up. I originally created a 12 LED strip for the 10" side but that was way too bright. I settled on the 6 LED strip because it seems bright enough for my software development plans and since I only have 1 ohm resistors, I really can't go lower than 6 LEDs in series.
The main reason for going so small was to have something next to me while I was coding for quick feedback during development.The Phillips webcam is pretty good in low light and the IR filter was easy to install.
My grandiose plan is to eventually use a matrix of LCD panels instead of a projector for display. I *think* webcams behind the LCDs will work for capturing blobs.
For now though, I'm in the API phase so I'm focusing just on getting blob detection working. These acrylic frame holders allow for easy portability.
So with that, this is what the development setup looks like with my hand used for perspective. It is very easy to move but still a bit fragile. I'm not worried about a compliant surface yet; however, I hear that 0.5mm silicone rubber is the way to go. Once the Blob API is further along, I'll have to deal with blob sensitivity and other issues that a compliant surface may effect. Along those lines, since each slate will have different sensitivity issues, I may need a "set-up" phase in the software to allow for calibration. Anyway, there you go. It's too bright right now to take pictures of the slate in action under infrared. I'll save that for another post.