GestureX enables you to control your Linux PC using hand gestures. You can assign specific commands or functionalities to different hand gestures, allowing for hands-free interaction with your computer.
- Recognizes hand gestures and maps hand gestures to custom commands using a webcam
- Real-time preview of webcam feed with hand gesture recognition
- Supports multiple camera sources
- Easily configurable through a graphical user interface
-
Clone the repository (You can also clone this GitHub repo):
git clone https://git.0x7f.in/sarthak/GestureX
-
Create and activate Virtual Environment
cd GestureX python3 -m venv venv source venv/bin/activate
-
Install the required dependencies:
(venv) pip install -r requirements.txt
-
Install the required fonts to display emojis
- Arch Linux
pacman -S noto-fonts-emoji
- Ubuntu or Debian
apt-get install fonts-noto-color-emoji
- Fedora or RHEL Based
dnf install google-noto-emoji-fonts
- openSUSE
zypper install google-noto-emoji-fonts
-
Run the application:
python3 gui.py
- Launch the application.
- Define hand gestures and assign commands or functionalities to them through the graphical user interface.
- Perform the defined hand gestures in front of your webcam to trigger the corresponding commands or functionalities.
- (Optional) Import the
gestures_commands.json
file to get sample bindings to test the app.
- "Okay" gesture
- "Peace" sign
- Thumbs up
- Thumbs down
- "Call me" gesture
- Stop gesture
- Rock and roll sign
- Fist gesture
- Smile hand gesture
- "Live long" gesture
These are the default gestures supported by the model. I am working on adding your own custom gesture as well.
This project utilizes the hand gesture recognition model provided by the Google MediaPipe project.
This project is licensed under the MIT License - see the LICENSE file for details.