handy
to run the project first tome, follow these steps:
- open terminal and go to the directory where you want to clone the project
- clone the repository:
git clone https://github.com/weareunder/hendi.git
//git clone [email protected]:weareunder/hendi.git
- navigate to the cloned repository directory:
cd hendi
- create a virtual environment:
python -m venv venv
- activate the virtual environment:
source venv/bin/activate
- install the required dependencies:
pip install -r requirements.txt
- run the project:
python main.py
to run the project after the initial setup:
- navigate to the cloned repository directory:
cd hendi
- checkout to the dev branch:
git checkout dev
- pull updates:
git pull origin dev
- activate the virtual environment:
source venv/bin/activate
- install the required dependencies:
pip install -r requirements.txt
- run the project:
python main.py
-
additional/utils.py — contains utility functions for hand tracking and gesture recognition. includes calculations for hand size, finger tip smoothing, state updates, and various visualization helpers.
-
api/hand_api.py — implements the handapi class for hand detection and tracking. provides methods for processing hand landmarks, calculating hand information, and rendering hand visualizations.
-
api/surface_api.py — implements the surfaceapi class for detecting and managing interactive surfaces. handles surface detection, locking, highlighting, and coordinate system visualization for gesture interactions.
-
core/state_manager.py — handles the application's state management. defines different states for gesture recognition and provides methods for transitioning between states based on detected hand movements and interactions.
-
core/video_processor.py — implements the videoprocessor class for handling video input and processing. manages frame capture, hand detection, surface detection, and user interface rendering.
-
gestures/cursor_control.py — implements the cursorcontrol class for translating hand movements into cursor actions. handles cursor movement, sensitivity adjustments, and smoothing for precise cursor control using hand gestures.
-
gestures/click_handler.py — manages click detection and handling for gesture-based interactions. implements methods for detecting clicks.
for detailed documentation about the project, including api references, usage guides, and development guidelines, please visit our documentation page (work in progress).