{"id":28762227,"url":"https://github.com/ibrahimbagwan1/hand-tracking-virtual-painter","last_synced_at":"2026-05-08T15:42:38.078Z","repository":{"id":295307645,"uuid":"989759020","full_name":"IbrahimBagwan1/hand-tracking-virtual-painter","owner":"IbrahimBagwan1","description":"An AI-powered virtual painting app using real-time hand tracking with OpenCV and MediaPipe. Move your hand to draw on screen without touching any hardware—just gestures and a webcam!","archived":false,"fork":false,"pushed_at":"2025-05-30T00:49:11.000Z","size":4718,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-17T08:07:30.698Z","etag":null,"topics":["ai","computer-vision","drawing-app","gesture-recognition","hand-tracking","machine-learning","mediapipe","opencv","python","realtime","virtual-painter"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IbrahimBagwan1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-24T19:09:32.000Z","updated_at":"2025-06-11T07:57:35.000Z","dependencies_parsed_at":"2025-05-24T20:28:41.474Z","dependency_job_id":"f0196250-812b-4747-9f2f-3c56dfe72fed","html_url":"https://github.com/IbrahimBagwan1/hand-tracking-virtual-painter","commit_stats":null,"previous_names":["ibrahimbagwan1/hand-tracking-virtual-painter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/IbrahimBagwan1/hand-tracking-virtual-painter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IbrahimBagwan1%2Fhand-tracking-virtual-painter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IbrahimBagwan1%2Fhand-tracking-virtual-painter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IbrahimBagwan1%2Fhand-tracking-virtual-painter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IbrahimBagwan1%2Fhand-tracking-virtual-painter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IbrahimBagwan1","download_url":"https://codeload.github.com/IbrahimBagwan1/hand-tracking-virtual-painter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IbrahimBagwan1%2Fhand-tracking-virtual-painter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260318706,"owners_count":22991120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","computer-vision","drawing-app","gesture-recognition","hand-tracking","machine-learning","mediapipe","opencv","python","realtime","virtual-painter"],"created_at":"2025-06-17T08:07:30.633Z","updated_at":"2026-05-08T15:42:38.008Z","avatar_url":"https://github.com/IbrahimBagwan1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hand Tracking Virtual Painter 🎨✋\n\n![Drawing Demo](assets/ui/vid.gif)\n\nA real-time **AI-powered virtual painting** app that lets you draw on your screen using just your hand and a webcam—no mouse or stylus required! Built with OpenCV and MediaPipe for fast, accurate hand tracking and gesture recognition.\n\n---\n\n## 🖼️ Screenshots\n\n### Selecting Color\n![UI – Color \u0026 Eraser Panel](assets/ui/image1.png)  \n\n### Drawing with Painter\n![UI – Drawing Mode](assets/ui/image2.png)  \n\n### Erasing Strokes\n![UI – Eraser Mode](assets/ui/image3.png)  \n\n\n---\n\n## 🚀 Features\n\n- **Real-time Hand Tracking**  \n  MediaPipe’s hand landmark model enables precise fingertip detection and tracking.\n- **Gesture-Based Controls**  \n  - **Index Finger Up:** Draw on the canvas.\n  - **Index + Middle Fingers Up:** Open color selection panel; hover to pick a color.\n  - **Thumb + Pinky:** Switch to eraser mode.\n- **Customizable Tools**  \n  Adjust brush thickness and eraser size for detailed work.\n- **Multi-Color Palette**  \n  Instantly switch colors by hovering over the palette region.\n- **Cross-Platform**  \n  Works with any standard webcam on Windows, macOS, or Linux.\n\n---\n\n## 🧰 Tech Stack\n\n- **Python 3.7+**\n- **OpenCV** – Video capture, image processing, UI overlays\n- **MediaPipe** – Hand landmark detection, gesture recognition\n- **NumPy** – Efficient image matrix operations\n\n---\n\n## 📦 Installation\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/IbrahimBagwan1/hand-tracking-virtual-painter.git\n   cd hand-tracking-virtual-painter\n   ```\n\n2. **(Optional) Create \u0026 activate a virtual environment**\n   ```bash\n   python -m venv venv\n   # Windows\n   venv\\Scripts\\activate\n   # macOS / Linux\n   source venv/bin/activate\n   ```\n\n3. **Install dependencies**\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n---\n\n## ▶️ Usage\n\n1. Connect your webcam.\n2. Run the painter script:\n   ```bash\n   python app_virtual_painter.py\n   ```\n3. Start drawing!\n\n**Controls:**\n- **Drawing Mode:** Raise index finger\n- **Color Selection:** Raise index + middle fingers, hover over a color in the top bar\n- **Eraser Mode:** Make thumb + pinky gesture\n- **Quit:** Press `x` at any time\n\n---\n\n## 🎯 How It Works\n\n- **Hand Landmark Detection:**  \n  MediaPipe locates 21 hand landmarks in each video frame.\n- **Gesture Recognition:**  \n  - Drawing: Only index fingertip above its PIP joint\n  - Selection: Both index and middle fingertips up\n  - Eraser: Thumb and pinky fingertips up together\n- **Canvas Overlay:**  \n  Drawing strokes are accumulated on a transparent canvas and overlaid on the live video feed using OpenCV.\n\n---\n\n## 🔍 SEO \u0026 Discoverability\n\n**Keywords:** Hand Tracking, Virtual Painter, Gesture Recognition, OpenCV, MediaPipe, Python Drawing App, Real-time AI Drawing  \n**Description:** Create stunning drawings with just your hand—no stylus or tablet needed. Leverage AI-driven hand tracking for an intuitive, marker-free digital painting experience.\n\n---\n\n## 🛡️ License\n\nDistributed under the MIT License. See [LICENSE](LICENSE) for details.\n\n---\n\n## 🙌 Contributing\n\nContributions are welcome! To report bugs or propose enhancements:\n\n1. Fork this repository\n2. Create a new branch (`git checkout -b feature/my-feature`)\n3. Commit your changes (`git commit -m \"Add my feature\"`)\n4. Push to the branch (`git push origin feature/my-feature`)\n5. Open a Pull Request\n\nPlease ensure all new code is well-documented and tested.\n\n---\n\n## 📬 Contact\n\nCreated by **Ibrahim Bagwan**  \nQuestions or feedback? Reach out via [GitHub Issues](https://github.com/IbrahimBagwan1/hand-tracking-virtual-painter/issues) \n\n---\n\nEnjoy painting with your hands! 🎨✋","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibrahimbagwan1%2Fhand-tracking-virtual-painter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fibrahimbagwan1%2Fhand-tracking-virtual-painter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibrahimbagwan1%2Fhand-tracking-virtual-painter/lists"}