{"id":22646112,"url":"https://github.com/aakashjhawar/hand-gesture-recognition","last_synced_at":"2025-08-25T17:10:54.769Z","repository":{"id":100859108,"uuid":"175416355","full_name":"aakashjhawar/hand-gesture-recognition","owner":"aakashjhawar","description":"Detect number of fingers from image or video using OpenCV","archived":false,"fork":false,"pushed_at":"2020-02-22T18:30:41.000Z","size":1690,"stargazers_count":18,"open_issues_count":1,"forks_count":14,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-19T07:10:48.618Z","etag":null,"topics":["computer-vision","convex-hull","cv2","deep-learning","finger-count-recognition","finger-detection","hand-detection","hand-gesture","hand-gesture-recognition","hand-gestures","hand-recognition","hand-segment","image-processing","image-segmentation","machine-learning","opencv","python"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aakashjhawar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2019-03-13T12:27:46.000Z","updated_at":"2025-01-15T03:15:54.000Z","dependencies_parsed_at":"2023-06-02T05:00:11.384Z","dependency_job_id":null,"html_url":"https://github.com/aakashjhawar/hand-gesture-recognition","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aakashjhawar/hand-gesture-recognition","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aakashjhawar%2Fhand-gesture-recognition","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aakashjhawar%2Fhand-gesture-recognition/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aakashjhawar%2Fhand-gesture-recognition/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aakashjhawar%2Fhand-gesture-recognition/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aakashjhawar","download_url":"https://codeload.github.com/aakashjhawar/hand-gesture-recognition/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aakashjhawar%2Fhand-gesture-recognition/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272100683,"owners_count":24873442,"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","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["computer-vision","convex-hull","cv2","deep-learning","finger-count-recognition","finger-detection","hand-detection","hand-gesture","hand-gesture-recognition","hand-gestures","hand-recognition","hand-segment","image-processing","image-segmentation","machine-learning","opencv","python"],"created_at":"2024-12-09T06:08:51.815Z","updated_at":"2025-08-25T17:10:54.759Z","avatar_url":"https://github.com/aakashjhawar.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hand Gesture Recognition\n• Extract and segment hand region from the video sequence.\n\n• Recognize the number of fingers from the segmented hand region by using Convex Hull.\n\n## Getting Started\n\nHow to use\n```    \ngit clone https://github.com/aakashjhawar/Hand-Gesture-Recognition.git\ncd Hand-Gesture-Recognition\n```\nRun the Finger_count.ipynb Jupyter Notebook\n \n## Prerequisites\n\n- Python 3.5\n- OpenCV\n```\nsudo apt-get install python-opencv\n```\n## Procedure\n\n* Strategy for counting fingers\n    * Garb an ROI (Region of interest)\n\t\t* Calculate a running average background value for 60 frames of video\n\t\t* Once average value is found, then the hand can enter the ROI\n* Set a ROI and calculate the average running value for some amount of frames\n* Then once a hand enters, we can detect change and apply thresholding\n* Strategy for counting fingers\n\t\t* Once the hand enters the ROI, we will use a Convel Hull to draw a polygon around the hand\n\t\t* Using some maths, we'll calculate the center of the hand against the angle of outer points to infer finger count\n* The next step is to use thresholding to grab the hand segment from the ROI\n* Now that we have the hand segment, the next step is to actually count the fingers behind held up\n* We can do this by utilizing a Convex Hull\n* A convex hull draws a polygon by connecting points around the most external points in a frame\n* In our case, this set of points is actually just our threshold image of a hand. \n* We can expect a general shape of our polygon to be something like \n* Then using a ratio of that distance we create a circle\n* Any points outside of this circle far away enough from the bottom, should be extended fingers\n\n## Working \n\n#### Image-\n![Image of segmented hand region](https://github.com/aakashjhawar/Hand-Gesture-Recognition/blob/master/images/hand_convex.png)\n\n\n## Result\n\n#### One\n![One](https://github.com/aakashjhawar/Hand-Gesture-Recognition/blob/master/images/one.png)\n\n#### Two\n![Two](https://github.com/aakashjhawar/Hand-Gesture-Recognition/blob/master/images/two.png)\n\n#### Three\n![Three](https://github.com/aakashjhawar/Hand-Gesture-Recognition/blob/master/images/three.png)\n\n#### Four\n![Four](https://github.com/aakashjhawar/Hand-Gesture-Recognition/blob/master/images/four.png)\n\n#### Five\n![Five](https://github.com/aakashjhawar/Hand-Gesture-Recognition/blob/master/images/five.png)\n\n###### *Segmentation of some image are improper as the lighting in the room was uneven.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faakashjhawar%2Fhand-gesture-recognition","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faakashjhawar%2Fhand-gesture-recognition","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faakashjhawar%2Fhand-gesture-recognition/lists"}