Skip to main content

Pre-built OpenCV-Python/Mediapipe modules that easy to use and understand.

Project description

pygesture

Pre-built OpenCV-Python/Mediapipe modules that easy to use and understand.
For now it only had Hand Track. More features will be add in future.

Table of Contents

Installation

pip install pygesture
  • First time use might won't work, so try it again.
  • Because it need to generate it own __pycache___.

Hand Track

  • Hand tracking technology with the help of Mediapipe.
  • This also detect if it Left or Right Hand.
  • I know there a lot of stuff down there but trust me.
  • Just read it one by one it easy to understand.
from pygesture import handtrack
import cv2

# [int] maxHand: The maximum amount hand that allowed to be track.
# [bool] drawLandmark: Draw on landmark and connect them together.
# You can also put nothing in there it will also work.
# Ex: handtrack.handDetector()
# There are more options available, you can check the source code if want to learn more.
ht = handtrack.handDetector(maxHand=2, drawLandmark=True)
cap = cv2.VideoCapture(0)

# This is a config for camera resolution.
# But the quality still limit by your camera.
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)

while True:
    success, img = cap.read()
    
    # The value will return everything you need.
    # img: is the image result.
    # hand: is the value of left or right hand and value of each landmarks on each hand.
    img, hand = ht.findHands(img)
    
    # Print it out to see what going on. 
    # This will return None if no hand detect. Make sure to add a check condition.
    print(hand)
    
    # "Hand Track" you can name it whatever you want. But other options may required.
    cv2.namedWindow("Hand Track", cv2.WND_PROP_FULLSCREEN)
    
    # [Optional] You can use this if you want full screen.
    cv2.setWindowProperty("Hand Track",cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN)
    
    # Display output image.
    cv2.imshow("Hand Track", img)
    
    # Wait in milliseconds before capture next frame.
    cv2.waitKey(1)
  • You can also try the pre-built test.
  • Required assets.zip
  • Just Extract it in the same directory as your script.
from pygesture import handtrack_test

Hand Vector

Landmarks Coordinate

  • Even though there no landmarks number specify.
'lms': [
        x: 0.2995750904083252
        y: 0.7221927642822266
        z: -4.386473335671326e-07,

        x: 1.2995750904083252
        y: 4.7221927642822266
        z: -4.626473335671326e-07,

        .....
    ]
  • Each index inside a list is the landmark it self. Start from [0,1,2,...]

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

pygesture-1.0.7.tar.gz (9.7 kB view hashes)

Uploaded Source

Built Distribution

pygesture-1.0.7-py3-none-any.whl (11.3 kB view hashes)

Uploaded Python 3

Supported by

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