Updated
L.A.S.E.R. TAG
Laser-pointer graffiti, tracked by a camera and projected back, in a browser tab.
What it is
L.A.S.E.R. Tag is the Graffiti Research Lab's system for writing on buildings with a laser pointer: a camera watches the wall, software tracks the laser dot, and a projector paints glowing strokes wherever it went.
This repository keeps the original openFrameworks source alive, including a modernized 2026 build, and adds a browser version written from scratch that follows the original's structure. The browser version is what runs at laser-tag.localheist.com. Add a webcam and a projector and that is the whole setup.
How it works
- The webcam feed is thresholded in HSV with OpenCV.js, tuned for a green laser by default, and candidate spots are scored by brightness and area to tell the laser from ambient light.
- A Kalman filter smooths the tracked point, with optional optical flow and CAMShift on top. Tracking runs in a Web Worker so drawing stays smooth.
- Two 4-point calibrations map camera pixels onto the projector's output and warp it for a projector standing at an angle.
- Six brush modes (smooth, glow, basic, and the dope, arrow and fat ribbons) paint in the original nine-color GRL palette, with dripping paint, and a WebGL pass adds bloom.
- The projector output opens in its own window, which the main page draws into directly and reconnects to over a BroadcastChannel after a refresh, while the controls stay on your screen. A mouse mode lets you draw without a laser.
Built with
Started