Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Controle por Gestos com as Mãos

Este projeto utiliza a webcam para detectar gestos com as mãos e mapeá-los para teclas do teclado, permitindo o controle de outras aplicações ou jogos de forma interativa.

Funcionalidades

  • Detecção de até duas mãos em tempo real.
  • Mapeamento de dedos levantados/abaixados para pressionamento de teclas.
  • Diferenciação entre mão principal e secundária com ações distintas.
  • Visualização da câmera com sobreposição dos pontos de referência das mãos.
  • Otimização de performance ao desabilitar a visualização.

Pré-requisitos

  • Python 3
  • Uma webcam conectada

Instalação

  1. Ambiente Virtual

    É recomendado criar e ativar um ambiente virtual para isolar as dependências do projeto. O projeto já inclui uma pasta env. Para ativá-la:

    # No Linux ou macOS
    source env/bin/activate
  2. Instalar Dependências

    Com o ambiente virtual ativado, instale as bibliotecas necessárias:

    pip install opencv-python mediapipe pyautogui

Como Usar

  1. Execute o script Python:

    python gesto.py
  2. Posicione suas mãos em frente à webcam. A janela "Reconhecimento Gestual - Mapeamento de Teclas" mostrará a imagem da câmera.

  3. Para fechar o programa, pressione a tecla 'q' com a janela de visualização em foco, ou pressione Ctrl+C no terminal.

Mapeamento de Gestos

O programa mapeia os dedos para as seguintes teclas:

  • Mão Principal (geralmente a primeira detectada, marcada em verde):

    • Polegar: Tecla a
    • Indicador: Tecla s
    • Médio: Tecla d
    • Anelar: Tecla f
    • Mínimo: Tecla g
  • Mão Secundária (marcada em vermelho):

    • Polegar: Tecla enter
    • Indicador: Seta para Cima (up)
    • Médio: Seta para Baixo (down)

Configuração e Performance

  • Alterar Teclas: Para mudar o mapeamento, modifique os dicionários mapa_teclas_mao_principal e mapa_teclas_mao_secundaria no arquivo gesto.py.

  • Melhorar Performance: Para uma execução mais leve e com menor latência, você pode desativar a janela de visualização. Para isso, comente a linha que chama a função mostrar_visualizacao() dentro do loop principal no final do arquivo gesto.py.

    # ... dentro do loop while ...
    
    # Comente a linha abaixo para desativar a visualização e melhorar a performance.
    # mostrar_visualizacao(frame_rgb, resultados)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages