For my ICM midterm, I had a lot of different ideas. I thought about building a teleprompter for bloggers and I considered building a video program that would track colors on the screen and create a disguise based on some really colorful things people could put on their faces. The problem was that I just wasn’t too passionate about either of these ideas. So I thought some more and decided that I wanted to try and use Processing’s brightness tracking video feature as a detector that, based on the colors read, would facilitate some other kind of action.
Premise
I created a video around the premise, “Help Me Get to the Subway.” As the character tries to get to the subway, he reaches three places where he can choose between going two directions. He holds up a brightly colored ball in each hand, each representing one of the choices. The user then holds a ball up to the video camera to designate which way the character should go. The camera reads the color of the ball and the video then jumps to that point to continue the story. If the user chooses the wrong direction, the character gets beaten up and the game restarts
First Step: Filming
I started by filming all the video. I had the actor walk to the subway and when he got to three separate points, he held up the two balls. Then we had to film him going the right way and going the wrong way. When he went the wrong way, I had two actors beat him up. It took about an hour to film.
Second Step: Coding
Once I had the video, there were two different pieces of code that I needed. The first was to jump between video segments. After reviewing the available code online, there were two choices. I could either have different videos start and stop or I could make one long video with all of the choices and program Processing to jump to different points. The latter seemed to make more sense.
The next piece of code I needed was for the video camera on my computer (or an external video camera) to register the different color balls and jump to the different parts of the video based on it. This was the most frustrating and most difficult to figure out, but Shawn was a huge help during his office hours.
Once I had the code, I had to test it. Obviously the hardest part was the different lighting conditions, which affected how bright the pixels were on the screen. Here’s how I set up the balls so that I could find the average brightness:
I really liked this project, and I’m thinking that I will continue using this system as I think about my final project. The hardest thing to control of course is the lighting. I had it working perfectly in the Japanese room the night before I demo’d it in class. The next morning, I got to class early in order to try and recalibrate it for the brightness of the room. That didn’t end up working too well and I could only demo one of the three threads. The feedback was that I needed to change the way that I found the average brightness by putting more limits on it, rather than just using greather than and less than.
Popularity: 23% [?]







