Image - Assignment

Make a system which generates images based on camera-input. This system should consist of two parts:

The parts of the system have to be related in a meaningful way: there should be a meaningful relationship between the type of image generation/processing chosen, the type of analysis of camera input, the way the image processing is controlled and the final visual result. The system you make should be like an organism with its own worldview, different from ours.
Please pay special attention to the following aspects:

Description

The idea behind the project is to let an organism reflect the image of a webcam, like a kind of mirror and let color values influence the behaviour of this organism. Then I thought it would be a more flexible idea to let the organism be a group of organisms, like a school of fish or a colony of ants.

The organisms are represented by bitmaps that can be manipulated by parameters. I experienced that it was fun to change the parameters and look what effects it caused on the bitmaps, so I decided to make it an interactive application. The parameters can be activated and changed by the viewer.
Most of the effects are influenced by the RGB value (red + green + blue). Alternatively only a single color signal could be chosen for manipulating the bitmaps, but I found out that adding up the values did have the most effect.

After consulting the teacher with an early version of the application, his suggestion was to set the range of the parameters more extreme, and to include more natural motion for the organisms. This suggestion improved the application.

To achieve the natural motion, I used the WebCamXtra software that is able to detect globs. A glob is an object that is distinguished from the background. The glob detection is used to detect motion, so in case the swarm parameter is chosen, the bitmaps will follow any motion in front of the webcam. If no motion is detected, the application will generate random positions for the swarm to follow after a couple of seconds.

image 2

The idea behind the project is to let an organism reflect the image of a webcam, like a kind of mirror and let color values influence the behaviour of this organism. Then I thought it would be a more flexible idea to let the organism be a group of organisms, like a school of fish or a colony of ants.

The organisms are represented by bitmaps that can be manipulated by parameters. I experienced that it was fun to change the parameters and look what effects it caused on the bitmaps, so I decided to make it an interactive application. The parameters can be activated and changed by the viewer.
Most of the effects are influenced by the RGB value (red + green + blue). Alternatively only a single color signal could be chosen for manipulating the bitmaps, but I found out that adding up the values did have the most effect.

After consulting the teacher Joost with an early version of the application, his suggestion was to set the range of the parameters more extreme, and to include more natural motion for the organisms. This suggestion improved the application.

To achieve the natural motion, I used the WebCamXtra software that is able to detect globs. A glob is an object that is distinguished from the background. The glob detection is used to detect motion, so in case the swarm parameter is chosen, the bitmaps will follow any motion in front of the webcam. If no motion is detected, the application will generate random positions for the swarm to follow after a couple of seconds.


image 4 image 3

The video input of the webcam is analysed as a matrix of blocks of 10 by 10 pixels. The average color of the block is mapped to a bitmap that is positioned on the same location as the videoblock.

image 5 rotate

The rotate parameter will rotate the bitmaps with a higher RGB value more than the bitmaps with a low RGB value. The slider can be used to set the rotation angle.

image 6 scale

The scale parameter scales the bitmaps. Here also the higher the RGB value, the bigger the bitmap is scaled. The viewer can adjust the range of scaling with a slider. The more the slider is moved to the right, the bigger the difference between the smallest and the biggest bitmaps.

image 7 move

The move parameter will move the bitmaps to a random position, related to the original position of the bitmap. The slider can be used to set the distance that will be used to randomly move the bitmap around it’s original position.

image 8 swarm

The swarm parameter is a sub parameter of the move parameter. It simulates swarm behaviour of a group of organisms. The swarm will move towards objects that move in front of the camera, if nothing moves in front of the camera the swarm will move to random positions. The slider can be used to let the swarm react slower or quicker to the moving object/random position.

animals pulldown

Different animals can be chosen from a menu. The blocks option is only active to explain the parameters of the application.
The cellular automata option will simulate a cellular automata effect as an extra parameter.


The Image assignment is done with Macromedia Director (version MX) together with a plug-in, called the WebCamXtra and a webcam. The source-file can be downloaded here (204 kB, zip), but be aware:

  • You need the WebCamXtra, download it here (30kB, zip)
  • The webCamXtra only works on the Windows platform and require that the connected webcam is able to support a specific standard video format. This format is 160×120 pixels, at RGB-24 (or 24-bit color). Although most webcams support much more and much less than this, it is a common standard among webcams.

Marcel Villerius, studentnumber 0250953, 27-02-04