AirDrawJospani is a computer vision project that lets you draw in the air with your fingers, turning your webcam into a true interactive digital canvas. It's inspired by the drawing experience of MS Paint, but here, no mouse is required — just your hand.
AirDrawJospani relies on cutting-edge technologies to interpret your gestures in real time:
- 🖐️ MediaPipe: for precise hand tracking and gesture recognition
- 🖼️ OpenCV: for image processing and graphic rendering of drawings
- 🧠 Computer Vision techniques: to convert hand movements into intuitive drawing commands
This project illustrates how computer vision can pave the way for natural interfaces, where interaction is contactless and creativity is freely expressed.
- Real-time hand tracking
- Virtual drawing with the index finger
- Eraser tool and color selection
- Python 3.10
- OpenCV
- MediaPipe
- Python 3.10 or later
- Working webcam or camera
git clone https://github.com/JospinTchomguim/AirDrawJospani.git
cd AirDrawJospani
python -m venv venv
venv\Scripts\activate
source venv/bin/activate
python.exe -m pip install --upgrade pip
pip install -r requirements.txt
python src/main.py
To draw, bring your index finger and thumb together to form a pincher. While holding this gesture, move your hand in space: this will create lines or shapes on the screen.
Point with your extended index finger to the color palette located on the right side of the screen to change the brush color.
To erase, fully open your palm. A circle will appear around your index finger, representing the size of the eraser.
- 🎨 Color Palette: visible on the right side of the screen
- 🟢 Active Color: displayed in the top left corner
- ❌ Quit App: press the
qkey
Here are some improvements planned for future versions of AirDrawJospani:
- 🧰 Tool Panel: interface for quickly choosing tools (pen, eraser, shapes, etc.)
- 💾 Save/Load System: ability to save your drawings and reopen them later
- 🟦 Shapes: addition of basic shapes like rectangles, circles, and straight lines
- ✏️ Pen Thickness: adjustment of thickness for more expressive drawing


