Skip to content

Lightbeats is juggling with interactive projection. Using webcam and notebook we can track the juggling balls with infrared led 75 frames per second. It is possible to tweak the visualization output to fit any theatre performance or art installation.

License

kukas/Lightbeats

Repository files navigation

Lightbeats

Lightbeats je aplikace napsaná v Processingu pro tracking svítících žonglovacích míčků webkamerou a vizualizaci jejich trajektorií.

Dokumentace pro uživatele

Instalace

Pro spuštění Lightbeats je potřeba Processing. Projekt využívá knihovny JMyron, ControlP5 a CL-Eye SDK, pro jejich instalaci se řiďte instrukcemi na jejich stránkách, případně využijte připravené knihovny ve složce libraries (složku překopírujte do složky Dokumenty/Processing/). Knihovna CL-Eye je komerční, pro použití programu s kamerou PS3Eye je nutné zakoupit driver a SDK na oficiálním webu.

Spuštění

Otevřete lightbeats.pde v Processingu a spustťe. Aplikace vyžaduje připojenou webkameru. Pro nejlepší výsledky program používejte v temném prostředí. Lightbeats má dva základní pohledy. Debug mód, který je přizpůsobený pro nastavení kamery a ladění parametrů pro hledání míčků, a prezentační mód, ve kterém se trackované míčky vizualizují. Ve výchozím nastavení je po spuštění programu zapnut debug mód. Do prezentačního módu lze přepnout stisknutím klávesy D.

Základní nastavení

Nastavit aplikaci je možné pouze při zapnutém debug módu. V levém horním rohu obrazovky se nachází tlačítka pro přepínání jednotlivých záložek nastavení. Pro základní nastavení aplikace stačí měnit nastavení v kategorii camera settings, případně v other. Pod přepínačem záložek se nachází také tlačítko pro uložení aktuálního nastavení.

Podrobnější popis nastavení naleznete v dokumentaci

Klávesové zkratky

  • ESC: Ukončení programu.
  • D: Zapnutí/vypnutí debug módu. Vhodné pro kalibraci při prvním použití.
  • C: Zapnutí/vypnutí nahrávání obrazovky. Snímky jsou ukládány ve formátu tga do složky frames/.
  • Mezerník: Uložení aktuálního snímku.

Dokumentace pro programátory

Příprava prostředí

Program stačí nainstalovat pro spuštění (viz Dokumentace pro uživatele - Instalace), další příprava pro úpravu kódu není potřeba.

Struktura kódu

Program na každé zavolání draw() funkce získá seznam globů z instance třídy Myron (myron.pde). Ten pak program předává instanci třídy Balls (balls.pde), která jednotlivé globy identifikuje a zařadí již jako State (state.pde) do správných Ball (ball.pde). Třída Finder (finder.pde) obsahuje algoritmus pro přesné hledání kružnic pomocí pixelových hranic globů, nalezené kružnice se využívají v Balls při třídění.

Po třídění následuje vizualizace instancí třídy Renderer (renderer.pde).

Podrobnější popis algoritmu naleznete v dokumentaci

Screenshoty!

Animace z Lightbeats

Screenshot z debug módu

Screenshot vizualizace stop míčků

About

Lightbeats is juggling with interactive projection. Using webcam and notebook we can track the juggling balls with infrared led 75 frames per second. It is possible to tweak the visualization output to fit any theatre performance or art installation.

Resources

License

Stars

Watchers

Forks

Packages

No packages published