We set fire on the field of pixels. Neighbored pixels burn out together with the recursive algorithm 'grassfire.'


     Real-time video feed from the web-camera has been labeled as multiple domains. The domain recognition has been accomplished by the recursive algorithm called grassfire. The overall procedure is composed of following three steps.

     1. Merge video input to be 80 x 60 rectangular or circular cells.
     2. Turn on/off each cell by comparing their intensity levels with the threshold value.
         The video input is now converted to 80 x 60 bit-field. (binarization)
     3. Color those ¡®ON¡¯ bits in a way that only the neighbored bits have the same colors. (labeling)

     For the step 3, the grassfire algorithm has been used.


  Fig1. Binarization   Fig2. Labeling

     The algorithm recursively searches for the neighbored ¡®on¡¯ bits until there is no ¡®on¡¯ bit in its neighborhood. Once the function is called, a color index is assigned to all those ¡®on¡¯ bits that the function sweeps by. When the function is terminated with no more neighbored ¡®on¡¯ bits, the color index is increased for later use. After inspecting through the whole bit-filed, the assigned color indexes are used for coloring each domain. The color indexes are used as keys to find appropriate color values from the predefined look-up table.

     Once the video feed has been transformed to multiple colored islands, we can also calculate centers of the domains or the areas of them. This information is also very useful because we can create far more interesting effects. For example, the application can react to the size of the domains, or the effect can burst out from the centers of them. Because the algorithm is based on 2D bit fields, this kind of visual installation can be applied to displays that use 2D arrays of light emitting devices. We performed series of experiments by varying threshold levels, cell sizes, and color tables.


Fig.3. still images and sketch on light box





GrassFire (2005)
Java, Processing