Skip to content

Control scrolling and navigation in any application using real-time hand gestures via webcam. Built with Python, MediaPipe, OpenCV, and PyAutoGUI.

Notifications You must be signed in to change notification settings

jyotir-aditya/gestureFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GestureFlow

GestureFlow Python OpenCV MediaPipe

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.

✨ Features

  • 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

🚀 How It Works

  1. Start Position: Position your index finger within the blue circle (neutral zone)
  2. Scroll Down: Move your finger upward from the neutral zone
  3. Scroll Up: Move your finger downward from the neutral zone
  4. Reset: Return to the neutral zone between gestures
  5. Visual Feedback: On-screen indicators show current gesture status
  6. Exit: Press 'q' to quit the application

📋 Requirements

  • Python 3.8 or higher
  • Windows OS (primary support)
  • Functioning webcam
  • Adequate lighting for hand detection

🔧 Installation

Step 1: Clone the Repository

git clone https://github.com/yourusername/GestureFlow.git
cd GestureFlow

Step 2: Set Up Environment (Optional but Recommended)

python -m venv venv
venv\Scripts\activate

Step 3: Install Dependencies

pip install -r requirements.txt

📱 Usage

Run the application:

python gesture_scroll.py

Command Line Options

# 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

⚙️ Customization

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

🔍 Troubleshooting

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

🛠️ Development

See CONTRIBUTING.md for information on how to contribute to this project.

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

👏 Acknowledgements

⚠️ Disclaimer

This software simulates keyboard and mouse actions. Use responsibly and with caution, especially on sensitive systems.


Last Updated: April 21, 2025

About

Control scrolling and navigation in any application using real-time hand gestures via webcam. Built with Python, MediaPipe, OpenCV, and PyAutoGUI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages