ALL PROJECTS

Title

Emote Royale

Gallery

Emote Royale slide 1

What it does

Real-time pose-based Clash Royale emote detector using your webcam.

A Python application that uses your webcam to detect full-body poses and hand gestures in real time, then displays matching Clash Royale-style animated emote overlays. Recognizes 6 distinct poses including thumbs up, peace sign, and rapid hand pumping at 30 FPS with pose smoothing and idle detection.

Core Features

  • 6 pose-based emote detections via MediaPipe Holistic
  • Animated GIF emote overlays with configurable duration
  • Pose smoothing for stable detection and false-positive prevention
  • Idle detection to prevent unintended triggers
  • Real-time FPS counter and movement tracking

How I built it

Started with MediaPipe Hands for basic gesture detection, then upgraded to MediaPipe Holistic to enable full-body poses like 'thinking' (hand on chin) and '67' (both hands pumping). The pose classification logic evolved from simple landmark checks to angle-based analysis for robustness. Added CLI options for camera selection and performance tuning after testing on different hardware.

System Flow & Architecture

Built on OpenCV for video capture and display, with MediaPipe Holistic handling full-body pose, hand, and face landmark tracking. NumPy powers the pose analysis pipeline, computing angles and distances between landmarks to classify gestures. Emote overlays are composited per-frame with alpha blending, and a cooldown manager prevents rapid re-triggers.

Tech Stack

PythonOpenCVMediaPipe HolisticNumPy