webcam-game-filters-graphics-programming-finals-thumbnail

Academic

Webcam Game Filters (Graphics Programming Finals)

2025 · 4 weeks

Grade · 86/100

About this project

A real-time computer-vision playground built in p5.js + ml5.js for the Graphics Programming Finals (University of London). The app processes live webcam input with multiple filters and an interactive pattern-lock game driven by hand-gesture detection. Features: 📸 Webcam capture with snapshot, 160×120 min resolution pipeline 🎨 Image processing: grayscale + brightness boost, RGB channel split with threshold sliders, CMY conversion, YCbCr conversion for luminance/chrominance separation 🙂 Live face detection with bounding boxes and per-face filters (grayscale, blur, CMY, pixelation) via keyboard shortcuts ✋ Hand-gesture pattern-lock mini-game: users trace heart, ribbon, and zigzag patterns with their index finger 🎚️ Performance-optimised blur (full-image blur, then face extract) to avoid harsh edges Going beyond the spec: - Pattern-lock extension combining memory and gesture control — usable as a group icebreaker - Custom YCbCr colour targeting tuned for better blue/red tone separation - Face-region-only filtering except for blur, which required a different approach to avoid harsh edges

Tech stack

  • p5.js
  • ml5.js
  • JavaScript
  • HTML5
  • Computer Vision