A gamification platform for rehabilitation exercises using hand tracking technology. This application uses computer vision to track hand movements and provides engaging games that help users with hand rehabilitation in a fun, interactive way.
- Real-time hand tracking using MediaPipe
- Interactive games designed for rehabilitation exercises
- Progress tracking across multiple sessions
- Camera feed integration so users can see their hands during gameplay
- Dashboard to view historical performance data
Pop balloons using a pinching gesture (bringing your thumb and index finger together). The game features:
- Colorful balloons floating upward
- Score tracking
- Visual feedback for pinch gestures
Navigate through a maze using hand gestures. Features include:
- Challenging maze layouts
- Timing and scoring system
- Hand position tracking
-
Clone the repository:
git clone https://github.com/yourusername/Rehab-Gamified.git cd Rehab-Gamified -
Create and activate a virtual environment (recommended):
python -m venv .venv # On Windows .venv\Scripts\activate # On macOS/Linux source .venv/bin/activate -
Install dependencies:
pip install -r requirements.txt
Navigate to the rehab_gamification directory and run the main script:
cd rehab_gamification
python main.py
This will launch the main menu where you can select a game to play or view your progress on the dashboard.
Your session data is stored in JSON format in the rehab_gamification/data directory. This includes:
- Game type
- Score
- Session timestamp
- Game-specific metrics (e.g., pinch counts, angles achieved)
rehab_gamification/
├── hand_tracking/ # Hand tracking module using MediaPipe
├── games/ # Game implementations
├── data/ # Session data storage (created automatically)
├── assets/ # Images, sounds, and other assets
├── main.py # Main application entry point
└── data_manager.py # Handles saving and loading session data
To create a new game:
- Create a new Python file in the
rehab_gamification/gamesdirectory - Have your game class inherit from
BaseGame - Implement the required methods (
run, etc.) - Add your game to the menu options in
main.py
Adjust the parameters in HandTracker initialization to customize:
- Maximum number of hands to track
- Detection confidence
- Tracking confidence