Control your system volume with hand gestures using computer vision and hand tracking technologies.
This project provides a hand-tracking application that allows users to control system volume through hand gestures. It utilizes OpenCV and MediaPipe for hand detection and tracking, and includes a Tkinter GUI for interaction. The application works on Windows, macOS, and Linux.
- Hand Tracking: Uses MediaPipe to detect hand movements in real-time.
- Volume Control: Adjusts system volume based on hand gestures, specifically the distance between the thumb and index finger.
- User Interface: A Tkinter GUI that displays the current volume and allows users to start/stop tracking.
- Settings: Options for camera selection and gesture sensitivity adjustments.
- Logging: Logs application activities and errors for debugging purposes.
- Python 3.x
- OpenCV
- MediaPipe
- PyAutoGUI
- NumPy
- Tkinter
-
Clone this repository:
git clone https://github.com/Aryan-Chharia/Computer-Vision-Projects cd /Computer-Vision-Projects/Gesture Volume
-
Install the required packages:
pip install -r requirements.txt
-
Run the application:
python Gesture-Volume.py
-
In the GUI:
- Select your camera if you have multiple devices.
- Adjust the sensitivity slider to modify how responsive the volume control is to hand movements.
- Click "Start Tracking" to begin hand gesture recognition.
- Use the thumb and index finger to adjust the volume:
- Move them apart to increase volume.
- Bring them closer together to decrease volume.
-
Click "Stop Tracking" to halt the tracking process.
-
Show your Palm to select volume
- HandDetector: Class responsible for detecting and tracking hands using MediaPipe.
- Application: Tkinter GUI application that initiates hand tracking and updates the cursor position based on hand movements.
- VolumeController: Class that interacts with the system to adjust the volume using platform-specific commands.
- VolumeControlApp: Main application class that manages the GUI and integrates the hand tracking functionality.
The application logs information and errors to volume_control.log
. This can be useful for debugging and understanding application performance.
Contributions are welcome! If you would like to add features or fix bugs, feel free to submit a pull request.
This application was developed by Dawood.
For any inquiries, suggestions, or issues, please contact us via:
- Email: dawood220a@gmail.com
- Linkden: Dawood
Thank you for using our application!