Skip to main content

computer vision and machine learning library

Project description

metaidigitcv

🚀 Hand Tracking & Gesture Recognition with metaidigitcv

metaidigitcv is an advanced computer vision and machine learning library designed to detect, track, and analyze hand keypoints using MediaPipe and OpenCV. Whether you're building interactive applications, gesture-based controls, or AI-powered hand recognition systems, metaidigitcv simplifies the process with efficient hand tracking and keypoint extraction.


🔥 Features

Hand Detection – Accurately detects multiple hands in real-time.
Landmark Tracking – Tracks 21 keypoints per hand.
Finger Recognition – Identifies raised fingers for gesture recognition.
Distance Measurement – Computes distance between two keypoints.
Angle Calculation – Calculates the angle (in degrees) between three 3D points. ✅ Text Overlay with Background – Draws text on the image with a customizable background rectangle.. ✅ Optimized Performance – Uses MediaPipe for fast processing.


📦 Installation

pip install metaidigitcv

Ensure you have OpenCV and MediaPipe installed:

pip install opencv-python mediapipe numpy

🎯 Quick Start

import cv2
from metaidigitcv.main import Handtracker

# Initialize the tracker
detector = Handtracker()

# Capture video
cap = cv2.VideoCapture(0)

while True:
    success, img = cap.read()
    if not success:
        break
    
    hands, img = detector.identifyHands(img)
    if hands:
        lmList = hands[0]["lmList"]  # List of hand landmarks
        print("Thumb Tip Position:", lmList[4])
    
    cv2.imshow("Hand Tracking", img)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

✨ Key Functions

🖐 Hand Detection

hands, img = detector.identifyHands(img, draw=True)
  • Detects hands in an image/video frame.
  • Draws hand landmarks if draw=True.

🏷️ Landmark Extraction

lmList, bbox = detector.trackPosition(img)
  • Returns a list of hand landmark positions.
  • Provides the bounding box of the detected hand.

✋ Finger State Detection

fingers = detector.trackRaisedFingers(hands[0])
  • Returns a list [1, 0, 1, 1, 0] where 1 means the finger is up.

📏 Distance Calculation

length, img, points = detector.trackDistance(4, 8, img)
  • Measures the Euclidean distance between two keypoints (e.g., thumb and index finger).

📏 Angle Calculation

angle = detector.calculate_angle(point_a_coords, point_b_coords, point_c_coords)
  • Calculates the angle (in degrees) between three 3D points, with point_b_coords as the vertex.
  • point_a_coords, point_b_coords, point_c_coords should be lists or tuples of [x, y] coordinates from lmList.

📏 Text Overlay with Background

img_with_text = detector.putTextRect(img, "Hand Detected!", (50, 100), scale=1, thickness=1, 
                                     colorT=(255, 255, 255), colorR=(255, 0, 255), offset=10)
  • Draws text on the image with a customizable background rectangle.
  • Enhances text readability, especially on busy backgrounds.

🎯 Applications

🔹 Gesture-based UI controls 🎮
🔹 Sign language recognition 🤟
🔹 Virtual painting & drawing 🎨
🔹 Touchless interaction systems 🤖
🔹 AI-powered hand gesture games 🎭


📜 License

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


🤝 Contributing

We welcome contributions! Feel free to fork the repository and submit a pull request.


📧 Contact

👤 Author: Suhal Samad ✉️ Email: samadsuhal@gmail.com 🌐 Personal Website: metaidigit.link ☕ Buy me a cup of coffee: https://gumroad.com/products

If you like metaidigitcv, don't forget to ⭐ the repository!


🚀 Let's build amazing hand-tracking applications together! 🚀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

metaidigitcv-0.1.16.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

metaidigitcv-0.1.16-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file metaidigitcv-0.1.16.tar.gz.

File metadata

  • Download URL: metaidigitcv-0.1.16.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for metaidigitcv-0.1.16.tar.gz
Algorithm Hash digest
SHA256 ea8291e493b852120a37277d7933e73fe6bf80ffbf5724e110b073ca69a91d14
MD5 f82ebcc6bc6f63e628bbd023eaff027c
BLAKE2b-256 7f6e801dc1a8e4a179f3e73bc32dfc836b9b77b4182b0fe9d6401162453f2a77

See more details on using hashes here.

File details

Details for the file metaidigitcv-0.1.16-py3-none-any.whl.

File metadata

  • Download URL: metaidigitcv-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for metaidigitcv-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 536fc74949318fe477f035d4840b6da129dd80f5a875b16f1c5079a131193298
MD5 867af95035491ef2945bc040f871e817
BLAKE2b-256 a80b12e7218404c4b38fa0d87b7b92acb943cda69ab02ab235f8ee884586cc34

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page