This is a Gesture Volume Controller App in which the User is able to control to their Main System Volume using their Thumb & Index Fingers Gestures. The App was made using a Python Library called EEL used to make Electron-like GUI Apps. HTML, CSS, were used for the App Layout & Styling, and JavaScript was used to implement logic in the frontend and communicate with Python in the backend . The Finger Gestures Tracking & Hand Tracking is achieved through the Cross-Platform Machine Learning Solutions Library called Mediapipe loaded using OpenCV Python and served through my custom Hand Tracking Library. The User Interface(UI) Prototype was designed in Figma. There are two buttons: Open Webcam & Close Webcam, which allow the User to turn on their webcam video feed and use the App or turn it off respectively. Just below the buttons, there is a Statistics Board that displays the Video Frame Rate (FPS), the Center x-axis(XPOS1) & y-axis(YPOS1) positions of Thumb, and the Center x-axis(XPOS2) & yaxis(YPOS2) of the Index Finger. The main video window displays a warning when the User's hand is Too Close To The Camera and another warning when the User's hand is Too Far From The Camera. This project has only been tested in Windows.
Install the following Python libraries in your Virtual Environment using PIP.
Note: The library names are CASE-SENSITIVE for PIP installations below. Make sure your type them correctly.
Install OpenCV for Python
pip install opencv-pythonInstall OpenCV Contrib for Python
pip install opencv-contrib-pythonInstall Mediapipe for Python
pip install mediapipeInstall EEL for Python
pip install eelInstall Numpy for Python
pip install numpyInstall PyCaw for Python
pip install pycawDownload a copy of this repository onto your local machine and extract it into a suitable folder.
- Create a Virtual Environment in that folder.
- Install all the required Python libraries mentioned above.
- Open a Command Prompt/Terminal in the Root Directory of the Project.
- Type the following command in the terminal to start an instance of the EEL App.
python GestVolContApp.py- Enjoy using the App!
