{"id":24829569,"url":"https://github.com/architj6/gesture-control-system","last_synced_at":"2026-04-17T12:31:04.503Z","repository":{"id":274987445,"uuid":"924707086","full_name":"ArchitJ6/Gesture-Control-System","owner":"ArchitJ6","description":"This Gesture Control System allows users to control various system functions (like mouse movement, volume adjustment, and screen brightness) using hand gestures through a webcam. It leverages MediaPipe for hand tracking and PyAutoGUI for controlling the system. The project enables intuitive, hands-free control for everyday tasks.","archived":false,"fork":false,"pushed_at":"2025-01-30T14:26:14.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T02:11:21.996Z","etag":null,"topics":["brightness-control","cursor","cursor-control","doubleclick","drag-and-drop","gesture","handgesture","handgesture-recognition","mediapipe","numpy","opencv","os","pyautogui","pycaw","python","python3","scroll","volume-control"],"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/ArchitJ6.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-01-30T14:03:48.000Z","updated_at":"2025-01-30T14:26:17.000Z","dependencies_parsed_at":"2025-01-30T15:43:19.118Z","dependency_job_id":null,"html_url":"https://github.com/ArchitJ6/Gesture-Control-System","commit_stats":null,"previous_names":["architj6/gesture-control-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ArchitJ6/Gesture-Control-System","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchitJ6%2FGesture-Control-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchitJ6%2FGesture-Control-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchitJ6%2FGesture-Control-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchitJ6%2FGesture-Control-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArchitJ6","download_url":"https://codeload.github.com/ArchitJ6/Gesture-Control-System/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArchitJ6%2FGesture-Control-System/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269990160,"owners_count":24508817,"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","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["brightness-control","cursor","cursor-control","doubleclick","drag-and-drop","gesture","handgesture","handgesture-recognition","mediapipe","numpy","opencv","os","pyautogui","pycaw","python","python3","scroll","volume-control"],"created_at":"2025-01-30T23:26:27.168Z","updated_at":"2025-10-16T09:25:53.434Z","avatar_url":"https://github.com/ArchitJ6.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gesture Control System 👋🖱️\n\nThis Gesture Control System allows users to control various system functions (like mouse movement, volume adjustment, and screen brightness) using hand gestures through a webcam. It leverages **MediaPipe** for hand tracking and **PyAutoGUI** for controlling the system. The project enables intuitive, hands-free control for everyday tasks.\n\n---\n\n## 📋 Table of Contents\n\n1. [Installation](#🚀-installation)\n2. [How it Works](#🔧-how-it-works)\n3. [Features](#🌟-features)\n4. [Supported OS](#💻-supported-os)\n5. [Cloning (Optional)](#🔄-cloning-optional)\n6. [Usage](#📦-usage)\n7. [Components / File Structure](#🗂️-components--file-structure)\n8. [Contributing](#🤝-contributing)\n9. [License](#📜-license)\n10. [Acknowledgments](#💡-acknowledgments)\n\n---\n\n## 🚀 Installation\n\n### Prerequisites\n\n- Python 3.8+ (preferably 3.9)\n- Make sure you have **pip** installed for managing Python packages.\n\n### Steps to Install\n\n1. Clone this repository to your local machine:\n\n    ```bash\n    git clone https://github.com/ArchitJ6/Gesture-Control-System.git\n    cd Gesture-Control-System\n    ```\n\n2. Install the required dependencies:\n\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n3. Additional packages for specific platforms:\n   - **Windows**: Install Visual C++ Redistributable for Visual Studio.\n   - **Linux/Mac**: Ensure `libopencv` and `libmediapipe` are installed.\n\n---\n\n## 🔧 How it Works\n\nThe system utilizes a webcam to track the user's hand gestures, which are interpreted to trigger different actions like mouse movements, clicks, and adjusting system volume/brightness.\n\n- **Hand gestures** are captured in real-time using **MediaPipe**.\n- The captured gestures are mapped to system controls using **PyAutoGUI** and **PyCaw**.\n- This project runs the webcam feed, detecting hand gestures and interpreting them into actions.\n\n---\n\n## 🌟 Features\n\n| Feature                       | Gesture Description                                                         |\n|-------------------------------|------------------------------------------------------------------------------|\n| **No Action Performed**        | When all five fingers are up, the cursor stops moving.                       |\n| **Cursor Moving**              | When both the index and multiple fingers are raised, the cursor moves.       |\n| **Left Button Click**          | Lower the index finger and raise the middle finger to perform a left-click.   |\n| **Right Button Click**         | Lower the middle finger and raise the index finger to perform a right-click.  |\n| **Brightness Control**         | Pinch with index and thumb, raise other fingers, and move hand horizontally. |\n| **Volume Control**             | Pinch with index and thumb, raise other fingers, and move hand vertically.   |\n| **Scrolling Vertically**       | With the left hand, pinch with index and thumb, raise other fingers, and move hand vertically. |\n| **Drag \u0026 Drop**                | Lower all fingers after selecting an element, drag it, and drop it.          |\n| **Double Click**               | Join/close index and middle fingers to perform a double-click action.        |\n\n---\n\n## 💻 Supported OS\n\n| OS          | Supported |\n|-------------|-----------|\n| **Windows** | ✅ Yes     |\n| **Linux**   | ✅ Yes     |\n| **Mac**     | ✅ Yes     |\n\n---\n\n## 🔄 Cloning (Optional)\n\nIf you'd like to fork or clone this project for your own use, you can follow these steps:\n\n1. Fork the repository on GitHub to your own account.\n2. Clone your forked repository to your local machine:\n\n    ```bash\n    git clone https://github.com/ArchitJ6/Gesture-Control-System.git\n    ```\n\n3. Navigate to the project directory:\n\n    ```bash\n    cd Gesture-Control-System\n    ```\n\n---\n\n## 📦 Usage\n\nTo start using the Gesture Control System, run the following command:\n\n```bash\npython main.py\n```\n\n- The webcam will launch and start detecting your hand gestures.\n- The corresponding actions (mouse movement, clicks, etc.) will be triggered based on the gestures you make.\n\n---\n\n## 🗂️ Components / File Structure\n\n```\ngesture-control-system/\n│\n├── Constants.py           # Contains configuration constants\n├── Controller.py          # Logic for system controls (mouse, volume, etc.)\n├── GestureController.py   # Manages gesture classification and interpretation\n├── HandRecog.py           # Hand recognition logic and gesture detection\n├── main.py                # Main script to run the system\n├── requirements.txt       # Required Python dependencies\n└── README.md              # Project documentation\n```\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! If you'd like to help improve the system, feel free to follow these steps:\n\n1. Fork the repository.\n2. Clone your forked repository to your local machine:\n\n    ```bash\n    git clone https://github.com/ArchitJ6/Gesture-Control-System.git\n    ```\n\n3. Create a new branch for your changes:\n\n    ```bash\n    git checkout -b feature-branch\n    ```\n\n4. Make your changes and commit them:\n\n    ```bash\n    git commit -m \"Add new feature XYZ\"\n    ```\n\n5. Push your branch:\n\n    ```bash\n    git push origin feature-branch\n    ```\n\n6. Open a pull request and describe your changes.\n\n---\n\n## 📜 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## 💡 Acknowledgments\n\n- **MediaPipe**: For their hand tracking model.\n- **PyAutoGUI**: For mouse control and automation.\n- **PyCaw**: For controlling system volume on Windows.\n- **OpenCV**: For real-time video capture and image processing.\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchitj6%2Fgesture-control-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchitj6%2Fgesture-control-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchitj6%2Fgesture-control-system/lists"}