Isadora is a graphic programming environment for Macintosh (with a Windows version now in public beta) that provides interactive control over digital media, with special emphasis on the real-time manipulation of digital video. Available from http:// www.troikatronix.com/isadora.html. Kathy Marmor has used it in some of her recent art installations. She asked me to help her wire in some sensors to detect the location of people within a space. Took two approaches:
- Video camera as sensor
- ultrasonic range detector
basic approach was the same:
- Employ Sprite widget. Background image was some sort of map or arial photograph; sprite was any generic marker.
- Wire X and Y coordinates of sprite to sensor inputs
For the video camera, the Video-in watcher widget captures video from FireWire device. Video piped and filtered through Difference widget, which compares the previous and current frame of the video input stream, generating a video stream that show areas that are different as a light color, and areas that are similar as dark.
Above is an example (click to enlarge). In the previous and current frames of video, the hand has moved just slightly to the right. The brightest part of the resulting difference is the edges, that is, where the image is most different. Parts that are similar (the palm for instance) are darker.
Output of Difference widget piped into the Eyes widget. The Eyes widget reports the location of the brightest object in the video stream, based on its location in a grid superimposed upon that video stream. It also reports the size of the object, and its velocity (i.e., speed of movement.) Output of Eyes widget piped into the Sprite widget, which moves the sprite on the screen. Here is the final program. Click to enlarge