{"id":26991856,"url":"https://github.com/msaifulhuda/finger-detection","last_synced_at":"2025-06-24T21:36:40.893Z","repository":{"id":283414182,"uuid":"949448125","full_name":"msaifulhuda/finger-detection","owner":"msaifulhuda","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-20T04:57:00.000Z","size":74,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T22:17:13.927Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/msaifulhuda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-16T13:43:59.000Z","updated_at":"2025-03-20T04:57:03.000Z","dependencies_parsed_at":"2025-03-20T05:39:38.114Z","dependency_job_id":null,"html_url":"https://github.com/msaifulhuda/finger-detection","commit_stats":null,"previous_names":["msaifulhuda/finger-detection"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/msaifulhuda/finger-detection","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msaifulhuda%2Ffinger-detection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msaifulhuda%2Ffinger-detection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msaifulhuda%2Ffinger-detection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msaifulhuda%2Ffinger-detection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/msaifulhuda","download_url":"https://codeload.github.com/msaifulhuda/finger-detection/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msaifulhuda%2Ffinger-detection/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261760018,"owners_count":23205649,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-03T22:17:17.205Z","updated_at":"2025-06-24T21:36:40.870Z","avatar_url":"https://github.com/msaifulhuda.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# Finger Detection Project\r\n\r\nThis project is a simple Python application that captures video from a webcam, detects hand landmarks, and displays icons above raised fingers. The project uses OpenCV for video processing and MediaPipe for hand landmark detection.\r\n\r\n## Features\r\n\r\n- Captures video from the webcam.\r\n- Detects hand landmarks using MediaPipe.\r\n- Displays icons above raised index, middle, and ring fingers.\r\n- Custom window icon for the application.\r\n\r\n## Requirements\r\n\r\n- Python 3.x\r\n- OpenCV\r\n- MediaPipe\r\n- pywin32\r\n\r\n## Installation\r\n\r\n1. Clone the repository:\r\n    ```sh\r\n    git clone https://github.com/msaifulhuda/finger-detection.git\r\n    cd finger-detection\r\n    ```\r\n\r\n2. Install the required packages:\r\n    ```sh\r\n    pip install opencv-python mediapipe pywin32\r\n    ```\r\n\r\n3. Place your icon images (`i.png`, `love.png`, `u.png`) in the `./icon/` directory.\r\n\r\n## Usage\r\n\r\nRun the main script to start the application:\r\n```sh\r\npython main.py\r\n```\r\n\r\n## Code Overview\r\n\r\nThe main functionality of the project is implemented in the `main.py` script. Here is a brief overview of the process:\r\n\r\n1. Open video capture from the webcam.\r\n2. Read frames from the video capture.\r\n3. Flip the frame horizontally.\r\n4. Convert the frame from BGR to RGB.\r\n5. Process the frame to detect hand landmarks.\r\n6. If hand landmarks are detected:\r\n    - Draw hand landmarks on the frame.\r\n    - Calculate the positions of the fingertips and joints for the index, middle, and ring fingers.\r\n    - Determine if the index, middle, or ring finger is raised.\r\n    - Display an icon above the raised finger.\r\n7. Display the frame with icons in the 'Finger Icons' window.\r\n8. Set the window icon.\r\n9. Close the video capture and window when the 'Esc' key is pressed or the window is closed.\r\n\r\n## Acknowledgements\r\n\r\n- [OpenCV](https://opencv.org/)\r\n- [MediaPipe](https://mediapipe.dev/)\r\n- [pywin32](https://github.com/mhammond/pywin32)\r\n\r\nFeel free to contribute to this project by submitting issues or pull requests.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsaifulhuda%2Ffinger-detection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmsaifulhuda%2Ffinger-detection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsaifulhuda%2Ffinger-detection/lists"}