GestureFlow is a Python application that enables touchless control of scrolling and navigation in any open application (PDF viewers, web browsers, document viewers, etc.) using hand gestures tracked via a webcam. It leverages MediaPipe for real-time hand tracking, OpenCV for webcam visualization, and PyAutoGUI for simulating scrolling actions.
- Intuitive Gesture Control: Control scrolling with natural hand movements
- Real-time Hand Tracking: Powered by MediaPipe's hand tracking technology
- Touchscreen-like Experience: Move finger up to scroll down, down to scroll up
- Visual Feedback: Neutral zone indicator and action status overlays
- Cooldown Mechanism: Prevents accidental multiple triggers
- Cross-application Support: Works with any application in focus
- Low Resource Usage: Optimized for everyday use
- Start Position: Position your index finger within the blue circle (neutral zone)
- Scroll Down: Move your finger upward from the neutral zone
- Scroll Up: Move your finger downward from the neutral zone
- Reset: Return to the neutral zone between gestures
- Visual Feedback: On-screen indicators show current gesture status
- Exit: Press 'q' to quit the application
- Python 3.8 or higher
- Windows OS (primary support)
- Functioning webcam
- Adequate lighting for hand detection
git clone https://github.com/yourusername/GestureFlow.git
cd GestureFlow
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
Run the application:
python gesture_scroll.py
# Run with default settings
python gesture_scroll.py
# Adjust sensitivity (example)
python gesture_scroll.py --sensitivity 1.5
# Change neutral zone size
python gesture_scroll.py --neutral-radius 50
You can adjust these parameters in gesture_scroll.py
to fine-tune the application:
Parameter | Description | Default Value |
---|---|---|
neutral_radius |
Size of the neutral zone (pixels) | 30 |
move_threshold |
Distance threshold for gesture detection | 20 |
cooldown |
Time between actions (seconds) | 0.5 |
Issue | Solution |
---|---|
Hand not detected | Improve lighting or reposition hand |
Unresponsive gestures | Try adjusting sensitivity parameters |
Module not found errors | Verify all dependencies are installed |
Webcam not accessible | Check if another application is using the webcam |
See CONTRIBUTING.md for information on how to contribute to this project.
This project is licensed under the MIT License - see the LICENSE file for details.
This software simulates keyboard and mouse actions. Use responsibly and with caution, especially on sensitive systems.
Last Updated: April 21, 2025