{"id":28762272,"url":"https://github.com/sayyedrabeeh/virtual-painter","last_synced_at":"2025-06-17T08:07:39.675Z","repository":{"id":290009490,"uuid":"973060327","full_name":"sayyedrabeeh/virtual-painter","owner":"sayyedrabeeh","description":"A  virtual painting app built with Python that lets you draw using hand gestures or mouse input. Powered by OpenCV \u0026 MediaPipe for real-time gesture tracking. Ideal for AI, CV, and creative tech enthusiasts!","archived":false,"fork":false,"pushed_at":"2025-05-10T12:45:22.000Z","size":4313,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-10T13:27:55.545Z","etag":null,"topics":["ai-project","computer-vision","drawing-app","gesture-control","hand-tracking","mediapipe","opencv","python","virtual-painting"],"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/sayyedrabeeh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-26T07:03:04.000Z","updated_at":"2025-05-10T12:45:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"025bde4e-8f27-41f7-aa3a-ec5095839294","html_url":"https://github.com/sayyedrabeeh/virtual-painter","commit_stats":null,"previous_names":["sayyedrabeeh/virtual-painter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sayyedrabeeh/virtual-painter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayyedrabeeh%2Fvirtual-painter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayyedrabeeh%2Fvirtual-painter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayyedrabeeh%2Fvirtual-painter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayyedrabeeh%2Fvirtual-painter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sayyedrabeeh","download_url":"https://codeload.github.com/sayyedrabeeh/virtual-painter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayyedrabeeh%2Fvirtual-painter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260318699,"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-project","computer-vision","drawing-app","gesture-control","hand-tracking","mediapipe","opencv","python","virtual-painting"],"created_at":"2025-06-17T08:07:39.093Z","updated_at":"2025-06-17T08:07:39.659Z","avatar_url":"https://github.com/sayyedrabeeh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 🎨 Virtual Painter\n\nThis project is a A professional-grade virtual painting application that transforms your webcam into an interactive canvas, enabling you to create digital art using hand gestures or mouse controls.. If you find this repository helpful or interesting, please consider giving it a star! ⭐ and Follow Me for cool Projects\n\n## Why Star This Repository?\n\n- It helps others discover the project.\n- It motivates the me to keep improving it.\n- It supports open-source development!\n\n## How to Contribute\n\nIf you want to contribute, feel free to fork the repository and submit a pull request. Also, don’t forget to star the repo!\n\nThanks for your support! ❤\n\n[Star the project](https://github.com/sayyedrabeeh/virtual-painter)\n \n\n\n\n### 🖼️ Click any image below to watch the demo video:\n\n\u003ca href=\"https://youtu.be/AXkNGLHpuh4\" target=\"_blank\"\u003e\n  \u003cimg src=\"/screenshots/vp1.jpg\" alt=\"Virtual Painter Demo 1\"  /\u003e\n\u003c/a\u003e\n\n### 🖼️ Click   image below :\n\n\u003ca href=\"https://youtu.be/AXkNGLHpuh4\" target=\"_blank\"\u003e\n  \u003cimg src=\"/screenshots/vp2.jpg\" alt=\"Virtual Painter Demo 2\"     /\u003e\n\u003c/a\u003e\n \n\n## ✨ Features\n\n- **Intuitive Controls** - Paint using either hand gestures (via webcam) or traditional mouse input\n- **Multiple Tools** - Express your creativity with various drawing tools:\n  - Brush\n  - Eraser\n  - Rectangle (outline and filled)\n  - Circle (outline and filled)\n  - Line tool\n- **Color Palette** - Choose from 12 vibrant colors\n- **Adjustable Brush Sizes** - Customize your brush thickness for precise control\n- **Gesture Recognition** - Uses MediaPipe hand tracking for pinch-to-draw functionality\n- **Canvas Manipulation** - Clear canvas option to start fresh\n- **Smooth Drawing** - Point averaging for smoother lines and reduced jitter\n- **Professional UI** - Clean, intuitive interface with visual feedback\n\n## 🖥️ Requirements\n\n- Python 3.6+\n- OpenCV (`cv2`)\n- NumPy\n- MediaPipe\n- Webcam (for hand gesture functionality)\n\n## 📋 Installation\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/sayyedrabeeh/virtual-painter.git\n   cd virtual-painter\n   ```\n\n2. Install the required packages:\n   ```bash\n   pip install opencv-python numpy mediapipe\n   ```\n\n3. Run the application:\n   ```bash\n   python virtual_painter.py\n   ```\n\n## 🎮 How to Use\n\n### Mouse Controls\n- **Select Colors/Tools**: Click on the buttons at the top of the screen\n- **Draw**: Click and drag on the canvas area\n- **Create Shapes**: Click to set the starting point, drag to adjust size/position, and release to place the shape\n\n### Hand Gesture Controls\n- **UI Interaction**: Move your index finger to the top of the screen to select tools and colors\n- **Drawing**:\n  - Make a pinching gesture with your index and middle fingers to start drawing\n  - Release the pinch to stop drawing\n  - For shapes, pinch at the starting point, move to adjust size, and release to place\n\n### Buttons and Functions\n- **Color Selection**: Choose from 12 vibrant colors (top left)\n- **Tool Selection**: Select your desired drawing tool (middle top)\n- **Brush Size Control**: Adjust the thickness of your brush using + and - buttons (top right)\n- **Clear Canvas**: Reset your entire canvas to start over\n\n## 🔧 Technical Details\n\nThe application uses:\n- **OpenCV** for image processing and UI rendering\n- **MediaPipe** for hand landmark detection and tracking\n- **NumPy** for efficient array operations\n- **Collections.deque** for smooth point tracking and interpolation\n\nHand detection tracks your index finger for pointing and detects \"pinch\" gestures (index finger and middle finger proximity) for drawing actions.\n\n## 🛠️ Customization\n\nYou can easily customize the application by modifying these parameters in the code:\n\n- Add more colors to the `colors` list\n- Adjust brush sizes in the `brush_size` list\n- Add new tools to the `tools` list (requires implementing corresponding drawing functions)\n- Change UI dimensions in the initialization section\n\n## 💫 Support This Project\nIf you find Virtual Painter fun, helpful, or inspiring, please consider giving it a ⭐️ on GitHub — it helps boost visibility, supports the project, and motivates further development!\nYour star is like a digital high-five 🙌 — and it truly means a lot!\n\n🌟 Click the star at the top-right corner of this page to support!\n\n\nWant to see more gesture-controlled creativity tools?\nA star helps us bring more magic to your screen. ✨🎨\n\n\n![GitHub Repo stars](https://img.shields.io/github/stars/sayyedrabeeh/virtual-painter?style=social)\n\n## 🙏 Acknowledgements\n\n- [OpenCV](https://opencv.org/) - The backbone of our computer vision functionality\n- [MediaPipe](https://mediapipe.dev/) - For the amazing hand tracking capabilities\n- [NumPy](https://numpy.org/) - For efficient numerical operations\n\n---\n\n\u003cp align=\"center\"\u003eDeveloped with ❤️ for Art Enthusiasts\u003c/p\u003e\n\n \n\u003ch3 align=\"center\"\u003eHappy Coding 🎨\u003c/h3\u003e\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsayyedrabeeh%2Fvirtual-painter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsayyedrabeeh%2Fvirtual-painter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsayyedrabeeh%2Fvirtual-painter/lists"}