Pages: [1] 2 3 4 ... 7   Go Down
Send this topic | Print
Author Topic: ShinyTouch: Zero Setup Single Touch Screen Retrofitting System  (Read 1921 times)
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4085


WWW
« on: July 03, 2009, 06:55:21 AM »

This is a side project of MirrorTouch. that enables the retrofitting of a single touch experience with practically NO EXTERNAL HARDWARE. All you do is mount your webcam off to the side facing the monitor, and software will automagically do the rest.

I have a prototype, and here is the first picture that's been made with it.


(Such an artistic masterpiece!)

The basic concept is that almost all screens are shiny. Even matte ones. Try it, touch your monitor while looking at it from the side (like a 20 degree angle from being parallel). Behind your finger you can see a slight reflection, and notice that the reflection only "touches" the real finger when it's in contact. So what this does is track the position of the finger (simple) and looks to the immediate right to search for a reflection. If it is there, then it's sensed as a touch, or else it's nothing.
« Last Edit: July 03, 2009, 06:59:18 AM by antimatter15 » Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
Ğaz
Web Master & Coder for Life
Loyal 110MB Member
*******
Offline Offline

Posts: 3219

Gone with the wind.


WWW
« Reply #1 on: July 03, 2009, 07:07:27 AM »

Man I really need to get a webcam.. it'd be a lot of fun to try out stuff like this or to try and fail at making it myself.
Logged

Personal site: http://matt-shaffer.com
Currently being eaten alive by school and attempting to make a half decent game.

Adios. Contact info is in profile. Might want to email me any IM details first, or I won't add you.
manicgames
Visual Basic Programmer!
Official 110mb Guru
********
Online Online

Posts: 8579


Ubuntu Is The Shizz.


WWW
« Reply #2 on: July 03, 2009, 07:10:10 AM »

Wow, this is actually pretty cool.
Logged

DOWNLOAD eoCMS NOW!

Nothing else to really say.
thefluffball
Knock. Knock.
Loyal 110MB Member
*******
Online Online

Posts: 2327


I came, I saw, I strutted.


WWW
« Reply #3 on: July 03, 2009, 07:12:18 AM »

Wow, you work fast! Is this actually working now, or just a POC?
Logged

antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4085


WWW
« Reply #4 on: July 03, 2009, 07:28:58 AM »

Wow, you work fast! Is this actually working now, or just a POC?
It's handling a real time webcam feed. You can calibrate the searching area. It searches in the right direction, etc. But the only real issues is that it skips 2/3 pixels it processes because my webcam only shoots at 60FPS and if processing takes slightly longish the image gets scrambled. Which is probably easily fixable. Also, that it's in python, which is a scripting language which means its not blazingly fastestly fast. Also, it doesn't export data in any usable format (it doesn't yet adjust the geometry of the found coordinates to the one of the trapizoidal perception of the rectangular monitor, not a big issue yet as theres no possible use of the data yet and due to the skipping 67% of the pixels, its obviously not too accurate). And for calibrating it to the lighting conditions isn't automatic yet, so you have to take a snapshot from the webcam and use your image editor of choice to build an RGB range of the area. and an RGB diff of the reflection and the surroundings.

So it's a POC by it's not really to do anything. but it's functional in the way i can draw a smiley with it.
Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
thefluffball
Knock. Knock.
Loyal 110MB Member
*******
Online Online

Posts: 2327


I came, I saw, I strutted.


WWW
« Reply #5 on: July 03, 2009, 07:40:29 AM »

But the only real issues is that it skips 2/3 pixels it processes because my webcam only shoots at 60FPS and if processing takes slightly longish the image gets scrambled.
Just take a photo and analyse that. Sure the response won't be so good, but it will be more accurate!
So it's a POC by it's not really to do anything. but it's functional in the way i can draw a smiley with it.
cheesy I didn't notice it was a smiley.
Logged

cogs
Hyper-Active Member
***
Online Online

Posts: 390



WWW
« Reply #6 on: July 03, 2009, 07:45:50 AM »

quite interesting. this could be used for virtual keyboards. (flat screen to type on). also, if it were accurate, could be used for drawing, like a tablet. never thought of reflection. reflection could be from anything. you might try light reflection.
Logged

Zzbomb
Advanced Authority Member
*****
Offline Offline

Posts: 1290


WWW
« Reply #7 on: July 03, 2009, 08:29:23 AM »

Antimatter, you continue to amaze me... For linux? PLEASE! i would love to test it.
Logged

antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4085


WWW
« Reply #8 on: July 03, 2009, 08:51:04 AM »

Antimatter, you continue to amaze me... For linux? PLEASE! i would love to test it.
I've only tested it on linux Cheesy
Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
thefluffball
Knock. Knock.
Loyal 110MB Member
*******
Online Online

Posts: 2327


I came, I saw, I strutted.


WWW
« Reply #9 on: July 03, 2009, 07:47:53 PM »

The only problem for me I see, is that in CRT screens (like my one Duh), the glass curves significantly into the center, which I can only assume would break this.
Logged

antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4085


WWW
« Reply #10 on: July 03, 2009, 10:02:17 PM »

The only problem for me I see, is that in CRT screens (like my one Duh), the glass curves significantly into the center, which I can only assume would break this.
It Might, but I thinks it will only emphasize the reflection (elongate it). Which doesn't realy matter. But there's a chance it blocks off half of th emonitor, but i doubt it because the slope has to be less than 30 deg (which is what i'm using now on my setup). Also, the glass is probably shinier.

Though what if you get shocked? CRTs have that issue of generating static. I don't want to be responsible for your death.



http://code.google.com/p/shinytouch/wiki/Setup?ts=1246628277&updated=Setup

The code is hidden in the mirrortouch svn though.
« Last Edit: July 03, 2009, 11:39:47 PM by antimatter15 » Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
pǝʇɹǝʌuı
ɹǝqɯǝɯ ʎʇıɹoɥʇnɐ
Authority Member
****
Offline Offline

Posts: 835



« Reply #11 on: July 04, 2009, 01:02:34 AM »

I have a transparent plastic cover on my LCD .. which I think is making the reflection more evident.

Is the code (even half) ready ?  Where are the sources/binaries? (I really wanna try it out)

WTF ?

So it's a POC by it's not really to do anything. but it's functional in the way i can draw a smiley with it.
But it can be extended right? Or can be used as a part of another program to return the x,y of the touch and substitute a mouse click ...
« Last Edit: July 04, 2009, 05:13:14 PM by pǝʇɹǝʌuı » Logged



The truth about $foo and $bar : FUBAR
thefluffball
Knock. Knock.
Loyal 110MB Member
*******
Online Online

Posts: 2327


I came, I saw, I strutted.


WWW
« Reply #12 on: July 04, 2009, 01:43:18 AM »

Though what if you get shocked? CRTs have that issue of generating static. I don't want to be responsible for your death.
Really? On the outside? This is new to me. Duh
So you don't mind if I die, just as long as your not responsible for it? Joking - lol.
Logged

MTGap!
Hyper-Active Member
***
Online Online

Posts: 352



WWW
« Reply #13 on: July 04, 2009, 05:30:01 AM »

Wow that's really cool, I can see a pretty large reflection from my monitor seeing as it's extremely bright. I have a LEGO MINDSTORMS NXT set and this is actually giving me some ideas for making my own touch screen. Unfortunately it doesn't have a webcam, but it does have an ultrasonic sensor.  smiley
Logged
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4085


WWW
« Reply #14 on: July 04, 2009, 06:16:48 AM »

Yeah, but that only lets you detect touch in one line. and it's not very  good at detecting depth. If you get it to work, that would be cool.
Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
MTGap!
Hyper-Active Member
***
Online Online

Posts: 352



WWW
« Reply #15 on: July 04, 2009, 10:59:31 AM »

Yeah, well I'm currently thinking of ways to get it to work in more than just one line. It won't be as cool as your ideas   grin
Logged
Zzbomb
Advanced Authority Member
*****
Offline Offline

Posts: 1290


WWW
« Reply #16 on: July 04, 2009, 11:18:45 AM »

Antimatter, you continue to amaze me... For linux? PLEASE! i would love to test it.
I've only tested it on linux Cheesy

I love you antimatter...
Logged

EpicCyndaquil
Building an Epic site...
Loyal 110MB Member
*******
Online Online

Posts: 2825


Check out my Porfolio!


WWW
« Reply #17 on: July 04, 2009, 04:14:53 PM »

duuuuuuude....
this is even cheaper than the Wii Remote method.  cheesy
Logged

$$$ - http://linkbee.com/34803
Scour sucks now with their new policy... Use SwagBucks instead to earn for searching! Uses Google + Ask, so you still get good results!
Earn at least $1 in about a minute!! No joke!! - http://www.youdata.com/join/epiccyndaquil
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4085


WWW
« Reply #18 on: July 04, 2009, 11:35:19 PM »

And the Wiimote method won't actually detect the z axis of motion so it's somewhat more intuitive (that is unless you use the pen thing).

The issue now is what variables do I use to search for the corelation between touch and non-touch for the shadows. It works quite well, but configuring is a hassle.
« Last Edit: July 05, 2009, 12:11:08 AM by antimatter15 » Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4085


WWW
« Reply #19 on: July 22, 2009, 12:56:26 AM »

I just randomly decided to try using the HSV color space and magically I think I found the best way to detect a reflection. Which is sorta sad because I tried so many unsuccessful systems that are orders of magnitude more complex than this.

Actually, it turns out most things work really well. The HSV one is really good, so is my ideal ratio analyzer and the shape detection one.

Though with the shape detetion one, It's not working out as well as it should be.
« Last Edit: July 22, 2009, 01:10:59 AM by antimatter15 » Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
Pages: [1] 2 3 4 ... 7   Go Up
Send this topic | Print
Jump to: