Creative Coding

btk

Till Nagel

Extern 3 - Woche 13

Aufgaben

K1: Lichtmalprogramm

Erstelle einen einfaches Zeichenprogramm, das über eine Live-Kamera den hellsten Punkt findet, und an dessen Stelle ein Element zeichnet. Dabei soll das Videobild letztlich nicht angezeigt werden, so dass man damit einfache Bilder erstellen kann.

K2: TimeLiner

Zeichne von einem LiveVideo immer nur genau eine vertikale Linie. Diese Linie soll über das Bild wandern, so dass eine Art "bewegtes Standbild" erzeugt wird.

Variante: Die Linie, die gezeichnet wird, soll stets an der gleichen Stelle aufgenommen werden.


Computer Vision

Interaktive Medien mit Bewegtbildern können auf verschiedene Art erstellt werden. So ist etwa das wiederholte und zeitversetzte Abspielen von Filmausschnitten im VJ-Bereich gängig. Um aber auf Ereignisse in den Bildern reagieren zu können muss das Bildmaterial selbst analyisert werden. Wenn neuartige Formen des interaktiven Einsatz von Live- oder vorgefertigem Videomaterial ermöglicht werden soll, sind grundlegende Techniken und Algorithmen der Computergrafik notwendig. Als Entwickler solch einer Installation müssen diese zumindest rudimentär verstanden werden.

Viele einfachere Computer Vision-Algorithmen basieren darauf, einzelne Pixel oder Pixelgruppen über die Zeit miteinander zu vergleichen. Dadurch wird versucht zu erkennen, ob Bereiche interessant sind, d.h. ob auf diese reagiert werden soll. Zwei elementare Techniken werden hier kurz vorgestellt, die auch bei anspruchsvollen interaktiven Systemen eingesetzt werden.

  • Vergleich von Einzelbildern
  • Helligkeits-Verfolgung

Vgl. Golan Levin: Extension 3: Vision. In: Casey Reas, Ben Fry: Processing - A Programming Handbook for Visual Designers and Artists, Cambridge, 2007

Vergleich von Einzelbildern

Die Bewegungen von Objekten (z.B. Personen) innerhalb eines Einzelbildes kann erkannt werden mittels Vergleich mit dem vorherigen Einzelbild.

In dieser Technik wird jedes Pixel aus Videobild mit dem zugehörigen Pixel (an gleicher Stelle) des folgenden Bildes verglichen. Die Farb- bzw. Helligkeitsdifferenz zwischen diesen beiden Pixeln wird gemessen und gibt an, ob und wieviel Bewegung an dieser bestimmten Position ist.

Ein ganz ähnlicher Algorithmus wird angewendet, wenn erkannt werden soll, ob sich im Bild etwas zu einem vorher festgelegtem Hintergrund verändert hat. Hier vergleicht man einfach das aktuelle Bild mit einem zuvor gespeicherten, bei dem man weiß, dass keine Personen oder Objekte vorhanden waren. Ist eine Änderung zu erkennen, bedeutet dies, dass aktuell Objekte im Bild stehen.

Helligkeits-Verfolgung

Das Helligkeits-Tracking ist eine simple Möglichkeit, um einzelne, helle Objekte zu verfolgen (z.B. eine Tachenlampe oder eine Leuchtdiode).

Dieser Algorithmus misst die Helligkeit jedes Pixels des neuen Bildes und vergleicht diese mit dem bisher hellsten Punkt. Wenn ein Pixel heller als der bisher hellste ist, wird dieser als der neue hellste Punkt gespeichert. Nach Analyse jedes Punktes weiß man also, welches der insgesamt hellste Pixel ist. Wird dies mit jedem neuen Frame gemacht, kann so eine Lichtquelle verfolgt werden.

Statt des hellsten Pixels kann mit Hilfe dieser Methode natürlich auch eine bestimmte Farbe festgelegt werden, die verfolgt wird. Eine leichte Abwandlung des Altorithmus ermöglicht bestimmte Farbereiche tracken zu können – womit etwa kleine farbige Objekte verfolgt werden können.

Creative Commons Lizenz: Namensnennung-NichtKommerziell-Weitergabe unter gleichen Bedingungen 2.0 (Deutschland)

© 2008 Till Nagel, All rights reserved – Alle Rechte vorbehalten.