tracking-py


Nametracking-py JSON
Version 1.1.1 PyPI version JSON
download
home_pagehttps://github.com/ilunnie/tracking
SummaryMonitor a person's body with just a webcam
upload_time2024-10-03 00:18:29
maintainerNone
docs_urlNone
authorilunnie & marcoshrb
requires_pythonNone
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# Tracking

A biblioteca **Tracking** é projetada para facilitar o rastreamento de características do corpo em imagens com **Mediapipe**. Ela fornece uma estrutura organizada para manipular e acessar pontos de referência, bem como suas coordenadas em 2D e 3D.



## Instalação

Para instalar a biblioteca, utilize o seguinte comando:

```bash
  pip install tracking
```
    
## Exemplos

Desenhando as mãos de uma imagem local
```python
import cv2
from tracking.hand_tracking import Tracking # Importando apenas o módulo de hand_tracking

# Carregando uma imagem
image = cv2.imread('path/to/image.jpg')

# Instanciando a classe de tracking
hand_tck = Tracking()

# Busca todas as mãos na imagem
hands = hand_tck.predict(cv2.cvtColor(image, cv2.COLOR_RGB2BGR))
for hand in hands:
    hand.draw(image, (255, 0, 0)) # Desenha todas as mãos encontradas

cv2.imshow("Hand(s)", image) # Mostrar imagem
cv2.waitKey() # Esperar o usuario clicar alguma tecla
cv2.destroyAllWindows()
```

Desenhando cada dedo separadamente e detectando quais dedos estão levantados
```python
import cv2
import tracking as tck

# 1° parametro: Define o tamanho da tela
# 2° parametro: Define a webcam que será usada
# 3° parametro: Define quais tipos de tracking deve carregar os modulos
tck.init((1920, 1080), 0, flags=tck.type.HAND_TRACKING)

# Instancia a classe de tracking de mãos
hand_tck = tck.HandTracking(tck.running_mode.LIVE_STREAM,   # running_mode = LIVE_STREAM para rastrear de forma assincrona
                            max_num_hands=2)                # max_num_hands = 2 Para rastrear até duas mãos ao mesmo tempo
cap = tck.CONFIG.VIDEO_CAPTURE # Referencia para a webcam

# Enquanto webcam estiver aberta
while cap.isOpened:
    # Obtem todas as mãos na camera (side_mirror=True se a imagem estiver invertida)
    hands = hand_tck.predict(side_mirror=True)

    # Ultimo frame que foi capturado
    frame = cap.frame

    for hand in hands:
        for finger in tck.finger:
            # Cor azul caso o dedo estiver levantado, senão, cor vermelha
            color = (255, 0, 0) if hand.finger_is_raised(finger) else (0, 0, 255)
            # Desenha apenas o dedo atual do loop
            hand.draw(frame, color, palm=False, fingers=[finger])

    # Mostra a imagem
    cv2.imshow("WebCam", frame)
    if cv2.waitKey(10) & 0xFF == 27:    # Se apertar Esc
        cap.close()                     # Fecha a webcam

cv2.destroyAllWindows() # Fecha a janela aberta pelo programa
```


## Autores

| ilunnie | marcoshrb |
| :---: | :---: |
| [![ilunnie](https://github.com/ilunnie.png?size=115)](https://github.com/ilunnie) | [![marcoshrb](https://github.com/marcoshrb.png?size=115)](https://github.com/marcoshrb) |


## Licença

[Apache-2.0](https://choosealicense.com/licenses/apache-2.0/)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ilunnie/tracking",
    "name": "tracking-py",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "ilunnie & marcoshrb",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/9d/0d/f37c229c76aebfe60c51f8b75f4494616161a4c9ea322e0f35a628612e5b/tracking_py-1.1.1.tar.gz",
    "platform": null,
    "description": "\r\n# Tracking\r\n\r\nA biblioteca **Tracking** \u00c3\u00a9 projetada para facilitar o rastreamento de caracter\u00c3\u00adsticas do corpo em imagens com **Mediapipe**. Ela fornece uma estrutura organizada para manipular e acessar pontos de refer\u00c3\u00aancia, bem como suas coordenadas em 2D e 3D.\r\n\r\n\r\n\r\n## Instala\u00c3\u00a7\u00c3\u00a3o\r\n\r\nPara instalar a biblioteca, utilize o seguinte comando:\r\n\r\n```bash\r\n  pip install tracking\r\n```\r\n    \r\n## Exemplos\r\n\r\nDesenhando as m\u00c3\u00a3os de uma imagem local\r\n```python\r\nimport cv2\r\nfrom tracking.hand_tracking import Tracking # Importando apenas o m\u00c3\u00b3dulo de hand_tracking\r\n\r\n# Carregando uma imagem\r\nimage = cv2.imread('path/to/image.jpg')\r\n\r\n# Instanciando a classe de tracking\r\nhand_tck = Tracking()\r\n\r\n# Busca todas as m\u00c3\u00a3os na imagem\r\nhands = hand_tck.predict(cv2.cvtColor(image, cv2.COLOR_RGB2BGR))\r\nfor hand in hands:\r\n    hand.draw(image, (255, 0, 0)) # Desenha todas as m\u00c3\u00a3os encontradas\r\n\r\ncv2.imshow(\"Hand(s)\", image) # Mostrar imagem\r\ncv2.waitKey() # Esperar o usuario clicar alguma tecla\r\ncv2.destroyAllWindows()\r\n```\r\n\r\nDesenhando cada dedo separadamente e detectando quais dedos est\u00c3\u00a3o levantados\r\n```python\r\nimport cv2\r\nimport tracking as tck\r\n\r\n# 1\u00c2\u00b0 parametro: Define o tamanho da tela\r\n# 2\u00c2\u00b0 parametro: Define a webcam que ser\u00c3\u00a1 usada\r\n# 3\u00c2\u00b0 parametro: Define quais tipos de tracking deve carregar os modulos\r\ntck.init((1920, 1080), 0, flags=tck.type.HAND_TRACKING)\r\n\r\n# Instancia a classe de tracking de m\u00c3\u00a3os\r\nhand_tck = tck.HandTracking(tck.running_mode.LIVE_STREAM,   # running_mode = LIVE_STREAM para rastrear de forma assincrona\r\n                            max_num_hands=2)                # max_num_hands = 2 Para rastrear at\u00c3\u00a9 duas m\u00c3\u00a3os ao mesmo tempo\r\ncap = tck.CONFIG.VIDEO_CAPTURE # Referencia para a webcam\r\n\r\n# Enquanto webcam estiver aberta\r\nwhile cap.isOpened:\r\n    # Obtem todas as m\u00c3\u00a3os na camera (side_mirror=True se a imagem estiver invertida)\r\n    hands = hand_tck.predict(side_mirror=True)\r\n\r\n    # Ultimo frame que foi capturado\r\n    frame = cap.frame\r\n\r\n    for hand in hands:\r\n        for finger in tck.finger:\r\n            # Cor azul caso o dedo estiver levantado, sen\u00c3\u00a3o, cor vermelha\r\n            color = (255, 0, 0) if hand.finger_is_raised(finger) else (0, 0, 255)\r\n            # Desenha apenas o dedo atual do loop\r\n            hand.draw(frame, color, palm=False, fingers=[finger])\r\n\r\n    # Mostra a imagem\r\n    cv2.imshow(\"WebCam\", frame)\r\n    if cv2.waitKey(10) & 0xFF == 27:    # Se apertar Esc\r\n        cap.close()                     # Fecha a webcam\r\n\r\ncv2.destroyAllWindows() # Fecha a janela aberta pelo programa\r\n```\r\n\r\n\r\n## Autores\r\n\r\n| ilunnie | marcoshrb |\r\n| :---: | :---: |\r\n| [![ilunnie](https://github.com/ilunnie.png?size=115)](https://github.com/ilunnie) | [![marcoshrb](https://github.com/marcoshrb.png?size=115)](https://github.com/marcoshrb) |\r\n\r\n\r\n## Licen\u00c3\u00a7a\r\n\r\n[Apache-2.0](https://choosealicense.com/licenses/apache-2.0/)\r\n\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Monitor a person's body with just a webcam",
    "version": "1.1.1",
    "project_urls": {
        "Homepage": "https://github.com/ilunnie/tracking"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1eb4543528acfff038e321f07582a288dad891bc594bb938989e8b646f8fa947",
                "md5": "ca19d5ee204b9451ca032219350b1669",
                "sha256": "1989734af0d7f0fa8aa523a66dd1364a72a7bb1b9ad967c700e37469a30f3231"
            },
            "downloads": -1,
            "filename": "tracking_py-1.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ca19d5ee204b9451ca032219350b1669",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 9205712,
            "upload_time": "2024-10-03T00:18:26",
            "upload_time_iso_8601": "2024-10-03T00:18:26.534143Z",
            "url": "https://files.pythonhosted.org/packages/1e/b4/543528acfff038e321f07582a288dad891bc594bb938989e8b646f8fa947/tracking_py-1.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9d0df37c229c76aebfe60c51f8b75f4494616161a4c9ea322e0f35a628612e5b",
                "md5": "30b1ea47b8dcd8f8f601b02b698dfc1a",
                "sha256": "30cc004e0b6a15032fcd8ea8d520ab7e618388d35633f125de1e4ea3878bd312"
            },
            "downloads": -1,
            "filename": "tracking_py-1.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "30b1ea47b8dcd8f8f601b02b698dfc1a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 9160880,
            "upload_time": "2024-10-03T00:18:29",
            "upload_time_iso_8601": "2024-10-03T00:18:29.779195Z",
            "url": "https://files.pythonhosted.org/packages/9d/0d/f37c229c76aebfe60c51f8b75f4494616161a4c9ea322e0f35a628612e5b/tracking_py-1.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-03 00:18:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ilunnie",
    "github_project": "tracking",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "tracking-py"
}
        
Elapsed time: 0.34645s