{"id":22900580,"url":"https://github.com/handayogi/drawing-with-hands","last_synced_at":"2026-05-04T19:40:29.277Z","repository":{"id":266808266,"uuid":"899381335","full_name":"handayogi/Drawing-with-Hands","owner":"handayogi","description":"This project allows users to draw on video frames in real-time using hand gestures as input. The project uses Python Libraries such as OpenCV, MediaPipe, and NumPy. ","archived":false,"fork":false,"pushed_at":"2024-12-26T07:44:21.000Z","size":3106,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T03:28:54.629Z","etag":null,"topics":["hand-tracking","mediapipe","opencv-python","python"],"latest_commit_sha":null,"homepage":"","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/handayogi.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":"2024-12-06T06:36:18.000Z","updated_at":"2024-12-26T07:44:24.000Z","dependencies_parsed_at":"2024-12-06T09:22:25.930Z","dependency_job_id":"b8fa5067-8112-47d2-aef3-dfcf0ea63e01","html_url":"https://github.com/handayogi/Drawing-with-Hands","commit_stats":null,"previous_names":["handayogi/drawing-with-hands"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/handayogi%2FDrawing-with-Hands","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/handayogi%2FDrawing-with-Hands/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/handayogi%2FDrawing-with-Hands/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/handayogi%2FDrawing-with-Hands/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/handayogi","download_url":"https://codeload.github.com/handayogi/Drawing-with-Hands/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246586036,"owners_count":20801028,"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":["hand-tracking","mediapipe","opencv-python","python"],"created_at":"2024-12-14T01:28:53.876Z","updated_at":"2026-05-04T19:40:29.247Z","avatar_url":"https://github.com/handayogi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"#### Kode-MK: IF4021 Sistem / Teknologi Multimedia\n#### Prodi : Teknik Informatika\n#### Dosen Pengampu : Martin C.T. Manullang\n\n# Drawing with Hands\n\n\u003e Multimedia Technology Course at Sumatera Institute of Technology (ITERA)\n\nThis project allows users to draw on video frames in real-time using hand gestures as input. The project uses Python Libraries such as `OpenCV`, `MediaPipe`, and `NumPy`.\nThe application detect hands and fingers movement, allowing users to create and manipulate lines directly on the video frames. Additionally, the program includes features\nto change the line color and erase drawings using specific hand gestures. It offers an interactive and intuitive way to engage with real-time video processing through simple fingers movements.\n\n## Library explanation:\n- `Open Source Computer Vision Library (OpenCV)` is an open-source library that use for image and video processing.  \nIn this project, OpenCV is used to:\n  - Read input from the camera in real-time.\n  - Draw lines on video frames (`cv2.line` function).\n  - Display the final result with a combination of image layers and original video (`cv2.imshow` and `cv2.addWeighted` function).\n  - Handle image manipulation such as color conversion from BGR to RGB.\n- `MediaPipe` is a library framework used for AI-based multimedia data processing solutions such as hand, face, and body detection.  \nIn this project, MediaPipe is used to:\n  - Identify hands positions and landmarks in real-time.\n  - Find specific landmarks such as the tip of the thumb, index finger, ring finger, and pinky finger.\n- `NumPy` is a library for efficient numerical computation.  \nIn this project, NumPy is used to:\n  - Create an empty image layer (`np.zeros_like` function).\n  - Manipulate an image array to ensure compatibility with OpenCV.\n\nCheck the Doc here:\n- [OpenCV](https://docs.opencv.org/4.x/)\n- [MediaPipe Hand Landmarks](https://ai.google.dev/edge/mediapipe/solutions/vision/hand_landmarker)\n- [NumPy](https://numpy.org/doc/)\n\n## Contributors\n| Full Name                       | NIM       | GitHub Username |\n| ------------------------------- | --------- | --------------- |\n| Handayogi Tambunan              | 121140114 | handayogi       |\n| Yanto Pernando Halomoan Hutapea | 121140127 | yanto1988       |\n\n\u003ca href=\"https://github.com/handayogi/Drawing-with-Hands/graphs/contributors\"\u003e\n  \u003ca href=\"https://github.com/yanto1988/Drawing-with-Hands/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=handayogi/Drawing-with-Hands\" alt=\"contrib.rocks image\" /\u003e\n\u003c/a\u003e\n\n## Logbook\n| Date \u0026 Time                    | Project Progress and Updates    |\n| ------------------------------ | ------------------------------- |\n| December 11, 2024, at 08:28 PM | Hand Tracking using MediaPipe   |\n| December 22, 2024, at 03:36 AM | Drawing with index finger tip   |\n| December 22, 2024, at 10:10 PM | Line color change while drawing |\n| December 23, 2024, at 01:27 AM | Clear all line on layer         |\n| December 24, 2024, at 17.45 PM | Finished report                 |\n## Installations\n1. Install dependencies with the following command.\n```sh\npip install -r requirements.txt\n```\n2. Run the program with the following command in the terminal.\n```sh\npython main.py\n```\n3. The program will open the camera and display new video window.\n\n## Guide\n1. Drawing\n    - Move the tip of your index finger in front of the camera to draw.\n    - The program will detect the movement and draw a line on the screen based on the position of your finger.\n\n2. Change Color\n   - Bring the tip of your ring finger and the tip of your thumb close together until they almost touch and the line color will change.\n\n3. Clear Draw\n   - Bring the tip of your little finger and the tip of your thumb close together until they almost touch.\n   - The entire image layer will be erased, returning it to a blank state.\n     \n4. Close Program\n   - Press the q key on the keyboard to exit the program.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhandayogi%2Fdrawing-with-hands","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhandayogi%2Fdrawing-with-hands","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhandayogi%2Fdrawing-with-hands/lists"}