Skip to content

GestureX: Control Linux-based operating systems using hand gestures. Built using Mediapipe, OpenCV and PyGTK.

License

Notifications You must be signed in to change notification settings

ManInDark/GestureX

Repository files navigation

GestureX

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.

Features

  • Recognizes hand gestures using a webcam
  • Maps hand gestures to custom commands or functionalities
  • Real-time preview of webcam feed with hand gesture recognition
  • Easily configurable through a graphical user interface

Installation

  1. Clone the repository (You can also clone this GitHub repo):

    git clone https://git.0x7f.in/sarthak/GestureX
  2. Create and activate Virtual Environment

    cd GestureX
    python3 -m venv venv
    source venv/bin/activate
    
  3. Install the required dependencies:

    (venv) pip install -r requirements.txt
  4. 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
  1. Run the application:

    python3 gui.py

Usage

  1. Launch the application.
  2. Define hand gestures and assign commands or functionalities to them through the graphical user interface.
  3. Perform the defined hand gestures in front of your webcam to trigger the corresponding commands or functionalities.
  4. (Optional) Import the gestures_commands.json file to get sample bindings to test the app.

Supported Hand Gestures

  • "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.

Screenshots

Main UI

Credits

This project utilizes the hand gesture recognition model provided by the Google MediaPipe project.

License

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

About

GestureX: Control Linux-based operating systems using hand gestures. Built using Mediapipe, OpenCV and PyGTK.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 51.8%
  • PureBasic 48.2%