Help - Search - Members - Calendar
Full Version: 150x100cm Multitouchscreen For <$500
Lumenlab > COMPTRONICS: Computing & Electronics > Hardware Hacking
frankvl
I'm creating a Jeff Han-style multitouchscreen table using a 15" lumenlab-style projector, for my everyday needs as a software architect/programmer (i.e. to replace my laptop interface when I'm home), to have a very nice aim in games (I think it's called cheating), perhaps enter the wonderful world of 3D editing now that it can actually be made intuitive, and to be able to paint electronically with real brushes (in 3D of course)

If I can find a good 1-way diffuser (or alternative) I might also add a webcam to track the color of objects after they have been detected on the screen, e.g. to recognize a playing card or perhaps even printed text if I can get a really really good camera setup. Or a video conferencing system might be possible where you can watch directly in the camera and the screen watches back.

Touchlib is (one of the) open source libraries for this technology, but I'll be writing my own program in Java (it's very easy actually). I want a minimalistic implementation where the user can teach the computer which gesture is connected to which data. OCR also becomes very easy if you can track the movement. Of course you dont have to use actual handwriting; you can use something that's a lot faster (not sure whether it will actually be faster than typing though). An on-screen keyboard could follow your hands or you could put tiny knobs on the screen to type blindly, with or without the (full) keyboard displayed. You could write/draw on real paper on top of the screen (have a paper roll next to the screen) and still see the screen + digitize the drawing. I think. So let's find out...

Here's a link and some pictures of existing designs; Google multitouchscreen for more if you're interested (lots of different projects on YouTube and Flickr)






The parts are on their way:

exclusiv.com:
- 400w light set: 94 Euros
- 15" optics: 75 Euros
- front surface mirror 154x93x4 mm: 16 Euros
ikbenstil.nl:
- Thermaltake Silent Wheel (120mm 16dB cooler): 12 Euros
- soft silicon bolts: 3 Euros
(bought a 2nd cooler with bolts just in case)
Led1.de: (free shipping)
- 100 8 mW IR leds: 40 Euros
(20-40 should do but it's nice to have spares)
Trust:
- 120 Sp@cecam 380x240 30fps: 20 Euros
(converted to IR cam by replacing IR filter with black photo negative)
- acryllic plate 8mm 150x100 cm: free (normally +/- 200 Euros)
(you can save 100-150 on the plate by using a smaller and/or thinner one)
- small acryllic plate to test mounting + software on: free
- paper to diffuse image on the plate: free
Stuntstore (local shop that also sells & ships on eBay):
- Eizo FlexScan L365 15" 1024x768

Total: 370 Euros!! (incl +/- 20 Euros shipping).

I can get the other electric + aluminium casing/table materials for free and I have access to advanced tools and an expert mechanic (my dad), so this is going to be interesting wink.gif

I think I'll have a separate box for the ballast/fan adapter, mount the mirror on the outside and create a 2D keystone adjustment for optimal flexibility. I want to have the projector on the ground behind the (adjustable) table and the table to be nice and low (at 45 degrees) so I can just put my legs underneath it (instead of a large 2nd mirror). The table should become easily transportable so I can show off (and sell some to local businesses/institutions/gadget freaks in the process).

So far I've only played around with software and stripped the Eizo.

Pros:
- 450:1
- VGA+DVI
- Strips easily
- This particular model came with a 2kg stand that can rotate in all directions (with some alterations it can reach 2x360 degrees + 180 degrees tilt). It can rise 10cm and it won't be pushed over easily under normal conditions. Last but not least, it has a system to hold your incoming wires so there's no stress on the connectors. Absolutely perfect stand/mount for a diy projector!! Judging from the pictures on the Internet, not all 365's are equipped with it though (its feet are placed in a distinct V-shape).
- The buttons are fixed to the PCB, so they can be easily installed in the projector
- 100-120/220-240V, 50-60 Hz built-in adapter (with fuse)
- Came with 2m VGA extension cable (2 males) + removable 2m power cord + 2m audio extension cable (2 male 3.5" stereo)
- Came with 2 minispeakers that can be reused for your mp3 player
- Backlight consisted of 4 mini-tubes that you could use to lighten up a painting or something.
- The frame can be put back on the LCD glass after the backlight is removed; the frame contains a few holes above the screen which can be used for easy mounting.
- I don't know if this is the case for all LCDs, but the backlight contained a 15" 6 mm acryllic plate which you can use for multitouch (testing) after you'd polished off the diffusing dots.
- The plastic front pane can be reused to mount a fresnel and/or the filter.
- You could also dremel the center of the back pane to yield a fresnel mount.
- You could reuse parts of the polished aluminium panels to reflect the light on the sides of the lamp.
- The backlight component contained 2 diffused but see-through sheets, 1 white diffusing sheet and 1 fresnel sheet - nice experiment material...

Cons:
- XGA, 25 ms
- LCD needs a 16-pin FCC extension
- More difficult and dangerous to mount the built-in adapter
- Adapter cannot be replaced with external adapter or mounted elsewhere because it has multiple connections(/output voltages?)

I'll go off and remove the anti-glare now and find a cheap alternative to extend the FCC. I'd love to hear other people's multitouchscreen experiences/plans/ideas!! If you don't have them yet, now is the time wink.gif
Billy A
I am really interested in seeing how your project turns out. I always like to see innovation. post-418-1138467278.gif
athomasbeck
I made one of these touchscreens a couple months ago. I was able to get webcam to do blob detection, but I know next to nothing about programming so I wasn't sure how to go about implementing it. I used processing which is supposed to be a java-like beginner language but still too much for me. The best I could figure out was using the java robot to controll the cursor. That seemed like it was a shoddy way to do it so I never tried.

The hardware is incredibly easy to put together. Once I had the materials I had it together in two days. I don't have a projector though so that’s strike two. I'm going to build a lumenlab one soon though so I'll be watching yours closely and maybe I could bum some software off of you once you get going. biggrin.gif
frankvl
It's very easy if you have programmed some things before or are willing to spend some time learning it; it can be done in any language. In Java it would be about 500-1000 lines of code, or 1 day of work if you have some experience. Avoid existing API's as much as possible because they're often ill-designed and more difficult to work with than actually implementing the thing yourself.

This is the basic detection algorithm:
- capture the webcam data in a pixel matrix (preferably 256 grayscales)
- look for colors brighter than a certain threshold
- once found you check to see if the neighbours are also bright, and repeat this step until there are no more
- count the nr of bright pixels to determine the area/pressure of the contact and determine the middle, average or topleft coordinate
- use that data in your own applications or send point and click events to your operating system

If you get weak results, adjust the webcam properties and/or the threshold to look for. You could also add simple pattern matching algorithms to determine the shape/rotation of the contact, and use the data of multiple contacts and frames to determine which gesture was/is being made (incl OCR) and to estimate which contact might represent which finger (in certain gestures). These can be done in real time, probably still getting 30 fps @ 380x240 on a less than 8 year old computer. Above that all, my particular goal is to have a simple gesture configuration/interactive learning interface so that future users don't have to muddle around with code and annoying interfaces.

Calibration can be done by letting the user touch the corners of a rectangle on the screen; this data can then be used by the software to position, scale and keystone correct the webcam data.

I'll post some code as soon as I get something useful.
frankvl
Soaked the anti-glare of the Eizo using a rag and tapwater; like stealing candy from a baby!
Ordered 16 way 0.5mm ribbon cable + connector to solve the FFC problem; 4 Euros at Farnell In One.
Coolers should arive this evening, optics and lamp are @ UPS.

Now all I need is patience...
and a good 2d/3d optics applet to fiddle with the design!

I will also buy 3D gamer glasses (+/- 40 Euros) for extra fun wink.gif
frankvl
The Thermaltake Silent Wheel is definitively what it promises!! you can only hear the buzzing sound of the motor, if you are closer than 1m that is... Also very cool; probably not the best lateral sucker since it has openings on the side, but I think one of 'em will do the job just fine.

Also polished a 19" 10mm thick acryllic testing plate and hooked it up to a usb-powered ir led from an old remote. This is what I got; the pictures were taken under normal artificial room lighting (2x60 watt dimmed light shining on the ceiling)

Finger touching but not pressing the plate:
Click to view attachment

Finger firmly pressing the plate:
Click to view attachment

Overview shot (location of the plate indicated with white lines):
Click to view attachment
frankvl
Click to view attachment

View of the outgoing light (this side had not been polished; the other side was done with car polish btw, which worked very fast and easy)
Click to view attachment

Me and my lamp. Something tells me it doesn't do its lighting job very efficiently wink.gif You probably have to turn all the lights off/shut all the windows that are shining through the pane into the ir webcam.
Click to view attachment

Here you can clearly see the effect of anti-glare on my (unmodified) laptop screen; the incoming light is diffused away to avoid reflections within the TFT panel itself. As you can see my head blocked some of the light so the IR is not coming from the backlight.
Click to view attachment

I don't think I'll be needing 100 powerleds to make this work on a 150x100cm plate, more like 10 on one side and a strip of aluminiumfoil on the other (the side where I'll be sitting).
frankvl
Also tested the 6mm acryllic plate with diffuser (from my Eizo backlight); works perfectly too. The diffuser can be polished away if you must. I'd say the only consideration you need to make for the thickness of the screen is how much it bends when you touch it (the 6mm is totally unbendable so perhaps even as little as 2mm would suffice for a large screen). The thickness is a large factor in its price, but with 2mm you don't have to worry about a thing (25 Euros per m2 while 8mm is 140 Euros per m2).
frankvl
Here is a description how you might create a diy multitouchscreen. It suggests that you drill holes in the sides to mount the leds (and that you should polish the sides, but that seems to be pretty useless in that configuration). However, I tested it and there seems to be a significant decrease in light because of the rough and diffusing drilled holes. That might also explain why he got bad results with a 7.5 mm plate while Jeff Han used a 6.7mm plate and survived.

Here are the test results:

The other end (unpolished) of a 10cm long plate with a led mounted in a drilled hole:
Click to view attachment

Fair, but this is more like it:
Click to view attachment

In the 2nd picture the led was placed against the polished edge. This method will most certainly increase the sensitivity and/or decrease the amount of leds needed.

I'll be using this aluminium bar to mount the leds externally; it's cheap (6 Euros/meter), strong, fairly reflective, very light, easy to drill and already equipped with the necessary profile (to block out the sides of the leds). It also has room for the wiring which you can then hide with some tape. Well actually I just chose this one because I can get it for free... I think it'll also be perfect for the (2) legs of the drawing table. Gives it a professional look, too!
frankvl
Here's the design for the drafting table; 50 Euros for the 4kg framework (using the aluminium profile from my previous post) + 100 Euros for the 6kg 6mm panel. Not bad compared to those conventional heavy drafting tables starting at $700... Very adjustable, sturdy, lightweight and mobile design + lots of room for your legs and/or the projector. I'll also add a paper roll so I can still quickly draft on paper when desired. I don't think I will use a roll of 150cm wide though. Perhaps it's also possible to add a simple plotter or printer.

The vertical bars could be made shorter if you wanted, but I want to be able to stand up and use it. I will also create a continuous cut into the profile instead of the holes I depicted here, so that it can be height-adjusted a lot more easily.

Click to view attachment

I want it painted black!
frankvl
PS you could also heighten the panel and place it vertically, shove your bed under it, ceil/wallmount the projector and watch movies/do ordinary computer stuff while laying down completely relaxed... Nice! smile.gif

If you place the projector in a rail on the wall you could probably switch positions in <1 min.
athomasbeck
Do you plan on sanding down the tips of your LED's in order to get them flush with the surface of your acrylic? That's what I did and it turned out pretty well. The only problem is that once I got it put together there was a lot of light leakage. I don't know if I messed up the angle of incidence or what. I'll try and post a picture when I get home tonight so you can see what I'm talking about. Theoretically all of the light should be contained in the plastic but I don't know if that's practical.

The ftir effect is still much brighter than the light leakage though so it is still workable. I only have 16 LED's though and it might get worse as you increase that number. Just wanted to let you know that is one of the issues you might run into.

Your really starting to get me back into this though and hopefully everything goes well for you.
PhDeviant
I saw a video of a multi touch screen not too long ago and was pretty impressed. But the idea that I could actually build one blows my mind. I'm anxious to see what kind of results and functionality you can get from this thing. Good luck on your build.
frankvl
Thanks for your replies! It's really nice to hear more people are sharing this excitement smile.gif
Atthomasbeck, what do you mean with 'turned out pretty well' and 'once I put it together'? Do you mean it worked on a test plate but not with the actual led mount?

The thing is that the more frequent the lightwave has to bounce up and down, the more incidental loss you get, as illustrated below:

Click to view attachment

The leakage is due to contamination of the surface and the air (i.e. materials that are denser than the acrylic rather than less dense which is needed for total internal reflection), but perhaps also due to a certain percentage defined by natural laws, I don't know.

I tested a normal led and a sanded led of the same type (with the dust cleaned off) and got significantly better results with the normal led. However, I also found out that the led has to be placed at about a 45 degree angle, so that the light is concentrated at 45 degree angles. This means that shallow angles are inefficient too; after all they almost never touch the surface. I didn't polish the other side and put reflective material on it however; when that would be the case I reckon you don't have to put the led at a 45 degree angle, because the shallow angled beams can move back and forth across the plate multiple times and eventually reach the surface just as many times as the 45 degree ones until they die out, donating the same amount of brightness to your picture (assuming perfect reflection and perfect transmission by the acrylic itself).

Conclusion: don't sand or drill! Polish all the edges and cover them with a reflective adhesive with holes cut out for the leds and cover the side of the leds so the spilled light doesn't reach the webcam. Perhaps they still need to be placed at a 45 degree angle in this setup.
frankvl
Here is a 100 line program to capture webcam data in a Java byte array, to get you started. It just picks the default webcam with the last used settings (incl framerate etc). The array can be edited and the output is directly shown. Most of the code consists of dummy functions, since JMF was designed to do a lot more than what we need.

First install Java 1.5 and JMF, then test the webcam using JMStudio (google how you need to do that), remove the .txt extension from the attachments, compile Camera.java and execute Camera. In MultiSense.java you'll find a method where you can write your implementation. Ask google or me if you need help.

If you want to use my software later on, I recommend you get this to work first.

Click to view attachment
Click to view attachment

I'm open to suggestions and feature requests.
athomasbeck
Sorry, I wasn't very clear with my post there. I didn't do any test plate at all, I kind of just threw everything together quickly. So there was only one try.



Ok, here is what I was talking about. you can see the parts of my hands that arent touching the screen very clearly. My fingertips that are touching are very bright though, so they're easily distinguishible from the unwanted background light. You can also see a few of the LED's on the bottom there. I had them covered, just not very well.

So, you are placing the LED's at 45 degrees to the surface? My LEDs have a beam angle of 40 degrees That puts the maximum angle of incidence within the screen at 40 degrees with them facing straight on. I don't know the exact critical angle were are talking about with this type of setup but based on your results I'd bet its near 45 degrees.

I just find it kind of strange cause if your tilting your LED 45 degrees then your max angle of incidence should excede this due do the angle of the cone of light that your LED puts out. Do you know that the beam angle for your LED's are? The only thing that would make sense is to me is if that angle was very small and by tilting the LEDs you got close to the critical angle.
frankvl
I didn't measure the angle exactly, but it was 45 degrees +/- 20 degrees, where 20 degrees would probably be the angle of the led where the light is concentrated. I don't think the exact middle of the led is much stronger than the rest, but I think you're right that it should be less than 45 (around 30-40) because then the entire concentrated beam of the led passes through the acrylic. I didn't know the max angle of incidence was 40 degrees; I just ran some quick and dirty tests. This weekend I will construct the frame, so I can test with the actual setup that I'll be using.

Nice clear results you got there btw!
frankvl
The high-power leds came in this morning and give a very nice narrow focused beam, almost no light at all is spilled beyond a 20 degree angle of concentrated light, unlike the ordinary remote control leds I tested with.
frankvl
The frame is almost finished now!! Only need to solder a few more leds and fix them at the right angle; I'll post some pictures when it's assembled again. Hopefully the lenses have arrived by then... It turned out to be a bit bigger and heavier than I imagined so I needed to improvise a bit on the design. Changing the height of the board is a bit problematic when you're on your own, so I'm thinking of using motors to lift both sides at the same time.

I mounted 50 leds on each side, which was not strictly necessary but it will greatly reduce the pressure needed to get a response. As expected it also works its way through paper (or any other ordinary diffuser for that matter).

Once I figured out the best way to drill and mount the leds it was just a matter of hours, and they all worked perfectly the first time biggrin.gif Next time, however, I hope to use tubular fluorescent IR lamps or something, because they would greatly reduce the effort (and the pain in my back)...
frankvl
Click to view attachment

Click to view attachment

Click to view attachment

The webcam images were made by pointing the webcam (at the position shown in the photos) toward the mirror on the ground. The table is fully captured in the vertical direction and about 90% in the horizontal direction. I tried mounting the cam higher to capture the entire area, but then the response wasn't very fluent and motion almost invisible.

I found that moisturising your hands greatly increases the response (the images shown here were taken of normal dry hands). The condens of your hand is captured too, however, leaving a ghost image for a second, but under normal conditions hardly any condens is formed.

The plate gets dirty pretty quickly (fat + dust); this is not a problem for the image, but it gives a slightly uncomfortable feeling when you slide your fingers over the table.

The table can be used as an ordinary desk for not too heavy objects; my laptop is on the table as we speak and the plate only bends about 1-2mm when I'm typing.

Also received an email from Exclusiv today announcing that they are about to post the package to UPS, so it will probably take another week before I can start with the actual projector sad.gif
EdZ
To deal with the nasty surface texture: Do coatings affect the frustration effect? Try stretching some cling-film (saran war in the US?) over the top. If it doesn't adversely effect it, try getting some sort of adhesive coating hat is more comfortable to use but still optically clear (I think the guys who sell the invisibleshields for ipods and the like sell custom sizes of the stuff, if it's not available directly from 3m. It's durable and doesn't feel particularly uncomfortable).
frankvl
Thanks, I think I'll try that someday; I still have to determine which diffuser to buy anyway. It should at least be possible to make the surface wet because then you can use virtually anything as your input medium (such as brushes for a true painting experience). Perhaps I can use adhesive when I can coat the surface with some kind of IR reflective material, or perhaps that could even be applied to the adhesive; then the internal reflection should remain intact.
relieve3d
I will also buy 3D gamer glasses (+/- 40 Euros) for extra fun wink.gif
[/quote]

Sorry 3D glasses will not work with your LCD proyector neither 5ms (I have tested with eDimensional and Xforce3D glasses and domgles and diferents combinations) That is becase LCDīs donīt refresh whole imagine at once. The pixels get and pass imagine info one to others so there are a constant refresh fluid.

Nowadays the only way to go 3D is an DLP proyector with active glasses (but many fliker, only 85hz 42,5 per eye(great headaches)) or two proyectors at once one for each eyes and using pasive polarizer glasses to get independens one imagine from other (linear or circular polarizer). If you want to move freely use circular polarizer filters if not use linears like IMAX3D, realD, Disney Digital Studios and the most 3D cinemas. In order to donīt waste light from proyectors if you choose use linear donīt add polarizers filters at all use the same which are need for the LCD, one directly and the other inverse (negative colours, correct this at drivers level and see real3d with passive glasses and full colour).

All about 3D is explained more extensive and with 3D movies links at:
http://www.lumenlab.com/forums/index.php?s...15333&st=40
http://www.lumenlab.com/forums/index.php?s...15333&st=60 3D glasses

Exist faster DLPīs proyectors but very expensive: lightspeed, barco.....

Great proyect yours
frankvl
Tnx, I had no idea! However, after some googling I found 3D glasses suitable for >70 Hz LCD (wired $70 /wireless $100 @ eDimensional.com). They wouldn't work on my 25ms Eizo, but do you think they would work on >70Hz Lumenlab projectors?
relieve3d
QUOTE (frankvl @ Jan 22 2007, 05:14 PM) *
Tnx, I had no idea! However, after some googling I found 3D glasses suitable for >70 Hz LCD (wired $70 /wireless $100 @ eDimensional.com). They wouldn't work on my 25ms Eizo, but do you think they would work on >70Hz Lumenlab projectors?


NO, definitive NO, but no very poor. NO absolutly NO working. LCD refresh is like LEDīs panels when the text scroll then it appear curved. Never appear the whole image, it is always refresing line by line slowly. I have tried eDimensional (good glasses but very poor dongle (only pageflip), the oposite to Xforce3D glasses rare but best dongle and much more compatible (interlaced, pageflip, above/below)) and other with panels at 5ms refresh rate and it doesnīt work at all.

LEDs display effect, caused by a loe refresh rate when scrolling "HELLO"
_____________________________________________
l---------O-------O---OOOOO---O----------O-------------l
l-----------O------O----O----------O----------O-----------l
l-------------OOOOO----O-OO------O----------O---------l
l---------------O------O---O-----------O----------O-------l
l-----------------O------O---O-----------O----------O-----l
l-------------------O------O---OOOOO---OOOOO---OOOl

Page flip never occur at LCD. What eDimansional says/means is that their polarizer filter (glasses) are fully compatible with LCDīs (which polarizes the light). No that the glasses will work ona LCD, they donīt lie they say it will no work at all. This mean that you can watch 3D screen on a CRT monitor with their 3D glasses while using a second monitor LCD (at 2D of course). 3D active glasses uses a big liquidcristal and a polarizer to block light, other models diferents than edimensional block constatly the light from LCD (which is polarized). This mean that many workstation for medical or stereoplotter operator (cartography) and many others canīt see nothing from their LCD while put on 3D glasses. With edimensional 3dglasses you can lokk freely and wathc your CRT on 3D and you others LCDs monitors at your workstation. Belive me it was a nightmare before the compatibility model.
eDimensional glasses (the best and worst dongle) polarizes the light in a different lenghwave to donīt cause interferences bloking LCD/TFT monitors light.

Other solution to avoid building two proyector DIY is to make only one DLP DIY, but 75hz 37,5hz per eyes will make you cry, headhaches, vomits, or became histeric. Only for playing for a while is a solution.

$ 18 Optics: http://www.surplusshed.com/pages/item/l3551.html
$175 DLP chip: htthttp://www.surplusshed.com/pages/item/i1478.html
$ 29 Color Whell: http://www.surplusshed.com/pages/item/m2610.html

Good Luck no one has tried with DLP !! (more light, more complex building, more comtrsat, less resolution, smaller box.....)

3D glasses at CRT works on 3d from 56 hz (28 per eyes) to 140 hz (70hz per eyes) and more. The ideal is to rise 100Hz per eye, 200hz pageflip signal.
Joobs
Hi

You might be interested to know there is a growing multitouch community on the web, with the aim of sharing knowledge and software.

http://www.nuigroup.com, we are mainly using the forums at the moment. We also hang out on IRC too, #ftir on irc.freenode.net

Also i wouldnt trust the information in Jeff Hans paper too much, as he has changed a lot of stuff in his newer prototypes...
PhDeviant
Oh man, don't tell me this project is dead! ohnoes.gif

This is way too cool of an idea to end unfinished. Ever since I stumbled across the demo video for multitouch screens I've wanted one, and if it's a doable DIY project, how could I not make my own? Have you made any progress on this, or is it just sitting in the corner?
frankvl
It's certainly not dead, but on hold for a couple of weeks because another guy asked me to start a business with him (unrelated to multitouch). I also melted part of the lamp, shorted the circuitry of my LCD with the FFC extension and ordered the wrong IR filter, so there's a little dent in my motivation.. I still use it as a desk though, so I'm reminded every day that I should continue wink.gif
toand
Good to hear that the project isnt canceled. Discovered this whole multi touchscreen thing yesterday and now I cant seem to get enough! smile.gif Looking forward to seeing this project finished.
/Tommy.
PhDeviant
QUOTE (frankvl @ Feb 23 2007, 11:08 AM) *
I also melted part of the lamp, shorted the circuitry of my LCD with the FFC extension and ordered the wrong IR filter, so there's a little dent in my motivation.. I still use it as a desk though, so I'm reminded every day that I should continue wink.gif

Good to hear you plan on sticking through to the end, especially with the difficulties you've been having. This seems like one of those projects that will definitely be worth it in the end.

What kind of software do you plan on using? I see the benefit of art and design type of programs, but is there a way to get something like a modified version of windows xp tablet edition so you have a full operating system that you can use the touch screen for?

Anyway, best of luck and keep us updated.
Lothar
Any updates?
frankvl
Yes, I built the projector, but the airflow and optic placements still need to be adjusted. I hope to be able to finish it (and the software) somewhere in June/July.
Lothar
Cool. Do you have any more pics to share in the mean time? Looks like a really nice project and I may have to try one out... dry.gif
frankvl
Here's a 2nd version of my software; it translates webcam blobs to Java Polygons or Areas, from which you can use getBounds() etc. It also detects dark spots in the blobs and extracts them from the Area.

The hardest part was making the screenshots, with no hand free to press printscreen..

You'll get a 1 sec delay if the image contains too many blobs, but that's because of the AWT edge painting code (which can be commented out), not the actual detection. There is no delay under normal multitouch conditions.

Next time I'll post something that can actually interact with Windows.

Source: Click to view attachment

Again, you need Java 5 and JMF.

Click to view attachment
Click to view attachment

The algorithm is kept very simple; it just 'walks' around the blob in a clockwise fashion until it's back at its original start position, storing the coordinates in the process, which are loaded into a Polygon later on. Edge softening is done by ignoring pixels that are dark on 3 sides, rather than using a CPU intensive blur.
Ronin
wow i totaly missed this plog, frickin awesome mate this is something i'll follow with great interest
athomasbeck
hey,
I completely forgot about this plog untill I heard about the new microsoft surface that they showed today. I decided to stop by, and it looks like your making some good progress. I actually have a built projector thats sits around most of the time now so it might be a good idea to dust it off and give this project another try.

If your software has no delay that is awsome. Most of the prewritten solutions I tried had frequent delay and I could tell it would make the interaction less enjoyable. I look forward to seeing more of your work. keep it up.
frankvl
The delay might also be from the camera; I think I'll buy the Philips SPX900NC soon, which should have a much better performance for a normal webcam price.

Problem is that I'm also working on a new kind of operating system, which is equally exciting.. But now I feel compelled to beat Microsoft at this overpriced gadget smile.gif

It seems they track the shadows when in broad daylight, like the Helsinki wall, so I'll first experiment a bit with that method.

BTW I posted experimental Java code at nuigroup.com to show multiple 'cursors' in Windows and let your fingers move windows around. Too bad microsoft didn't show such a thing..
mdmfootball
So is this a touchscreen thing or does that low res camera record what touches the screen then it goes threw software that then puts it on the screen which is then projected back on the table?
frankvl
Yes, the camera records an image of your hand, software analyses the image and determines the coordinates of the bright spot caused by the hand, and then uses those coordinates as if they represent multiple cursors, for instance to move a window or paint something.
Crazy_Joker
Have you new pictures ?

THX Crazy Joker
MyYz400
Is there anyway you can explain the functionality of the program alittle more? I understand partly, but not totally. I'm in the process of writing a code in VB.NET right now.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.