Lightbeats je aplikace napsaná v Processingu pro tracking svítících žonglovacích míčků webkamerou a vizualizaci jejich trajektorií.
- Propagační web: www.lightbeats.cz
- Ukázka: screenshoty
- Download: link na release
- Dokumentace: uživatelská i programátorská dokumentace
- Repozitář: kukas/Lightbeats + fork se stavem maturitní práce
- Autor: Jiří Balhar
- Maturitní práce 2014/15 na GJK
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.
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.
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
- 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.
Program stačí nainstalovat pro spuštění (viz Dokumentace pro uživatele - Instalace), další příprava pro úpravu kódu není potřeba.
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