
HANDRAW/
├── camera/
│ ├── captures/
│ ├── drawing.py
│ └── hand_landmarker.task
└── README.md
pip install opencv-python opencv-contrib-python mediapipe numpy
| Gesture |
Action |
| ☝️ Index finger up |
Draw |
| ✌️ Index + middle finger up |
Erase |
| ✊ Closed hand |
Idle |
MediaPipe detects 21 landmarks on each hand, numbered 0 to 20:

| Group |
Landmarks |
Description |
| Wrist |
0 |
WRIST |
| Thumb |
1-4 |
CMC -> MCP -> IP -> TIP |
| Index finger |
5-8 |
MCP -> PIP -> DIP -> TIP |
| Middle finger |
9-12 |
MCP -> PIP -> DIP -> TIP |
| Ring finger |
13-16 |
MCP -> PIP -> DIP -> TIP |
| Pinky |
17-20 |
MCP -> PIP -> DIP -> TIP |
Each finger has 4 points: base knuckle (MCP), middle knuckle (PIP), upper knuckle (DIP), and fingertip (TIP).
| Key |
Action |
1 – 9 |
Switch color (green, blue, pink, orange, white, ...) |
+ / - |
Decrease / increase brush size |
C |
Clear board |
S |
Save screenshot to captures/ |
Tab |
Toggle HUD |
Q / Esc |
Quit |