Monday, December 3, 2007
finished screen
I finished my projection screen. It was a very messy endeavor, but I'm pleased with the results. The screen is composed of a front layer of rosco grey rear projection screen adhered to a piece of 1/4" acrylic. The image really looks great, the images below don't do them justice. Anyways, that's all for today I think... no more updates until I get all the parts in to make my new lights.
Friday, November 30, 2007
Say Cheese!
I've been testing out the Canon SDK for an powershot model I have and I finally got it to work! I made a simple console app that starts the sdk, connects to the camera, and then takes a pictures and saves it to the computer. Not bad for a few hours of shuffling through documentation ;) How this works into my multitouch project... that's my secret for now!
In other news, I made the final screen for my multitouch box using the glue method I previously described. I'll admit, it was much more challenging than I initially thought, simply because of the size. I ended up diluting the glue to a thin consistency and then spraying it on the acrylic. I then used a large squeegee to get all the excess glue and air out from under the rosco grey. Overall, the screen looks great. I should be able to get it reinstalled into the big box so I can test the image quality.
In other news, I made the final screen for my multitouch box using the glue method I previously described. I'll admit, it was much more challenging than I initially thought, simply because of the size. I ended up diluting the glue to a thin consistency and then spraying it on the acrylic. I then used a large squeegee to get all the excess glue and air out from under the rosco grey. Overall, the screen looks great. I should be able to get it reinstalled into the big box so I can test the image quality.
Tuesday, November 20, 2007
Sunday, November 18, 2007
Photo update
In my last post I alluded to my current project, which is a big multitouch box. Here's a picture of what it looks like (with one of the side panels off). I was doing a projection test with a DVD of the movie Robots.

So anyways, nothing that impressive yet. I had trouble getting the rosco to stretch tight over my acrylic, so I had to figure out a way to adhere it to the surface. I tried various spray adhesives from 3M and I found that while many offer a strong bond, they all leave a visible texture.
I came up with a solution that seems to work quite well. Naturally, it was the most simplistic solution smile The secret adhesive is… dun dun dun… Elmer’s glue. That’s right… the white stuff we got all over our hands and clothes in grade-school.
I diluted some white glue with hot water so it was thin enough to be brushed onto the acrylic. The trick is to work with the rosco as if you are applying some window film. Apply a liberal amount of glue to the acrylic and then lay down the rosco starting from one end (try to minimize air pockets). Next, wet the surface (you don’t have to do this… but just to be nice to the rosco you should) and squeegee the air pockets out. I let mine dry for a few hours and it left me with a perfectly flat rosco/acrylic combo. Projecting onto it, there is no visible pattern or texture like I had with various brands of spray glue.
If this experience has taught me anything… it is to always try the low-tech solution first. That's all for now... more updates to come since I have this next week off from school!

So anyways, nothing that impressive yet. I had trouble getting the rosco to stretch tight over my acrylic, so I had to figure out a way to adhere it to the surface. I tried various spray adhesives from 3M and I found that while many offer a strong bond, they all leave a visible texture.
I came up with a solution that seems to work quite well. Naturally, it was the most simplistic solution smile The secret adhesive is… dun dun dun… Elmer’s glue. That’s right… the white stuff we got all over our hands and clothes in grade-school.
I diluted some white glue with hot water so it was thin enough to be brushed onto the acrylic. The trick is to work with the rosco as if you are applying some window film. Apply a liberal amount of glue to the acrylic and then lay down the rosco starting from one end (try to minimize air pockets). Next, wet the surface (you don’t have to do this… but just to be nice to the rosco you should) and squeegee the air pockets out. I let mine dry for a few hours and it left me with a perfectly flat rosco/acrylic combo. Projecting onto it, there is no visible pattern or texture like I had with various brands of spray glue.
If this experience has taught me anything… it is to always try the low-tech solution first. That's all for now... more updates to come since I have this next week off from school!
Friday, October 26, 2007
Still Alive!
Here's what I have been up to lately.
I've moved on to building a larger, more polished prototype. I am creating a mobile multitouch "wall" that measures approx 6' tall, 64" wide, 30" deep. The actual screen area will be roughly 54"x32".
So far construction is going well. I'll post pictures as soon as I can!
I've moved on to building a larger, more polished prototype. I am creating a mobile multitouch "wall" that measures approx 6' tall, 64" wide, 30" deep. The actual screen area will be roughly 54"x32".
So far construction is going well. I'll post pictures as soon as I can!
Friday, September 28, 2007
Busy busy!
I have been very busy with school lately so I haven't worked much on the software side of things. Managed to get my software running at around 70fps w/ the camera capturing at 60 :) Things run REALLY smooth now... even more so than in my videos. I'll post a video sometime in the future once I get the wall up and running. Figuring out how to build a 36"x64" wall that can move around is fairly difficult!
Monday, September 3, 2007
Squash those bugs!
If you saw the video of my photo app in the last post, you'll notice some flickering when I touch two photos that overlap. I fixed that bug (it was a problem with ordering). I also added velocities to the photos, so you can flick 'em and send them sliding down the screen. It's fun :)
Saturday, September 1, 2007
Photo App Video!
So, I've been working on the basecode for my multitouch setup for a while now. I made this simple photo app as a test. It still needs a little work, but I'm pretty pleased with it so far. Take a look!
Sunday, August 26, 2007
Email!
I got an email full of questions this morning and I thought I would post it here along with my response so that it might help others with similar questions. If you can contribute to the answer, please reply. Thanks!
Dear Miketavius,
I'm xxxxxxx, a CS undergraduate student who's planning to work on my
graduation project for my last year .. I've just found these forums n I
checked ur posts and ur blog .. that's GREAT ..
I really hoped if I could ask for some advice ..
We're trying to build a SDK for Multitouch input, we're building the HW, we
will have the sequence of frames captured, process it for blob detection n
tracking, raise events .. then we'll be building a 3D-sculpting tool on top
of it as a demonstration ..
I bought the acrylic sheet, IR-LEDs, n fixed a frame .. I hacked an old
webcam as well ..
I have a few questions regarding the HW:
- In order to see clear blobs, I had to turn of the light in the whole room
.. in order not to do so, I tried putting a magnetic tape instead of the
IR-lens inside the cam, but it's too dark n the blobs are so dim n weak ..
I tried using a camera film, I used 3 layers n they were still too bright
but far more blurry!!!! Suggestions?? I really hoped I wouldn't end up
having to use a totally dark room else it won't work, u know !!!
- Do I have to put milkpaper or anything on top or bellow the acrylic
sheet? Why?
Concerning the SW part, we wanted to do the whole thing .. capturing the
images is not that important so I wouldn't mind using smthing already built
for that purpose ..
But the blob detection n tracking (everything starting from the point where
u only have a sequence of images), we want to do all that ..
We decided to work in C++ ..
Any references? Source code to understand how things work? papers? anything
to read?
We still have one year to go in college so we haven't studied image
processing yet .. we need primitive source .. for a very fresh start ..
I just need some advice or guidance .. we're at the very first steps .. I'm
sure u've been there at some point .. just help us kick-start with any
suggestions ..
xxxxxx,
The lighting is really the most important aspect of creating a
rear illuminated multitouch screen. I found that using an IR bandpass
filter to match the exact wavelength of the IR leds helps
tremendously. In my case, I have 880nm leds and an 880nm bandpass
filter. This means that my filter's light transmittance peaks at
880nm and falls off sharply after that. Even at the highest point on
the light transmittance curve though, it only lets through 50%-60% of
the light. This means that you will need more light to evenly light
your screen as opposed to using film negatives. While this is a
drawback, using a bandpass filter versus film negatives does help
lessen the effects of ambient light interference. As long as my
screen is not directly facing sunlight or another light, I can use it
in a room with the lights on.
Also, you need to have some sort of diffuser in front of or
behind the acrylic. I've found that blobs show up brighter if you put
the diffuser on the front of the acrylic. Your diffuser can also
serve as your projection surface. In my case I use a single sheet of
vellum paper for both diffuser and projection surface. If you don't
have some kind of milky sheet on the acrylic, then your hand will
reflect back a lot of IR light and it will be more difficult to
recognize individual fingertips.
As far as software goes, I'm glad to hear you're going to program
it yourself. It's been a fun challenge and I've learned a lot so
far... and my project still has a long way to go! For image
processing, I use openCV. There's an add-on to the project that does
blobtracking. I've heard that by using a floodfill based blobtracking
method though that one can achieve faster results than with openCV's
blobtracking. I don't have any references for that, but I'm sure if
you google "floodfill blob recognition" something will come up.
Dear Miketavius,
I'm xxxxxxx, a CS undergraduate student who's planning to work on my
graduation project for my last year .. I've just found these forums n I
checked ur posts and ur blog .. that's GREAT ..
I really hoped if I could ask for some advice ..
We're trying to build a SDK for Multitouch input, we're building the HW, we
will have the sequence of frames captured, process it for blob detection n
tracking, raise events .. then we'll be building a 3D-sculpting tool on top
of it as a demonstration ..
I bought the acrylic sheet, IR-LEDs, n fixed a frame .. I hacked an old
webcam as well ..
I have a few questions regarding the HW:
- In order to see clear blobs, I had to turn of the light in the whole room
.. in order not to do so, I tried putting a magnetic tape instead of the
IR-lens inside the cam, but it's too dark n the blobs are so dim n weak ..
I tried using a camera film, I used 3 layers n they were still too bright
but far more blurry!!!! Suggestions?? I really hoped I wouldn't end up
having to use a totally dark room else it won't work, u know !!!
- Do I have to put milkpaper or anything on top or bellow the acrylic
sheet? Why?
Concerning the SW part, we wanted to do the whole thing .. capturing the
images is not that important so I wouldn't mind using smthing already built
for that purpose ..
But the blob detection n tracking (everything starting from the point where
u only have a sequence of images), we want to do all that ..
We decided to work in C++ ..
Any references? Source code to understand how things work? papers? anything
to read?
We still have one year to go in college so we haven't studied image
processing yet .. we need primitive source .. for a very fresh start ..
I just need some advice or guidance .. we're at the very first steps .. I'm
sure u've been there at some point .. just help us kick-start with any
suggestions ..
xxxxxx,
The lighting is really the most important aspect of creating a
rear illuminated multitouch screen. I found that using an IR bandpass
filter to match the exact wavelength of the IR leds helps
tremendously. In my case, I have 880nm leds and an 880nm bandpass
filter. This means that my filter's light transmittance peaks at
880nm and falls off sharply after that. Even at the highest point on
the light transmittance curve though, it only lets through 50%-60% of
the light. This means that you will need more light to evenly light
your screen as opposed to using film negatives. While this is a
drawback, using a bandpass filter versus film negatives does help
lessen the effects of ambient light interference. As long as my
screen is not directly facing sunlight or another light, I can use it
in a room with the lights on.
Also, you need to have some sort of diffuser in front of or
behind the acrylic. I've found that blobs show up brighter if you put
the diffuser on the front of the acrylic. Your diffuser can also
serve as your projection surface. In my case I use a single sheet of
vellum paper for both diffuser and projection surface. If you don't
have some kind of milky sheet on the acrylic, then your hand will
reflect back a lot of IR light and it will be more difficult to
recognize individual fingertips.
As far as software goes, I'm glad to hear you're going to program
it yourself. It's been a fun challenge and I've learned a lot so
far... and my project still has a long way to go! For image
processing, I use openCV. There's an add-on to the project that does
blobtracking. I've heard that by using a floodfill based blobtracking
method though that one can achieve faster results than with openCV's
blobtracking. I don't have any references for that, but I'm sure if
you google "floodfill blob recognition" something will come up.
Sunday, August 12, 2007
Calibration test
Here's a vid of me testing out my touch surface and the touch/projection calibration.
Subscribe to:
Posts (Atom)
