Skip to content

Zeuxsf/Controle-O

Repository files navigation

Controle-O: Mouse por Gestos (LINUX)

O que é o Controle-O?

O controle-O é um mouse virtual movido pelo movimento da mão. A câmera (capturada pela biblioteca OpenCV) vai analisar a posição da mão utilizando Mediapipe e traduzir o movimento em tempo real utilizando EvDev. O projeto utiliza threading e queue pro sistema não pesar enquanto renderiza a interface e os pontos da mão.

Interface

A interface escolhida para esse projeto foi o dearpygui (DPG). O DPG foi escolhido por ser leve e de rápido aprendizado, com a estrutura se assemelhando até mesmo com HMTL.

Modularização

Cada etapa do projeto foi separada em um arquivo distinto e depois mesclado no arquivo main para uma melhor navegação e reutilização. Mapa dos arquivos:

  • Interface e Inicialização: main.py
  • Mapeamento das mãos: maos.py
  • Processamento da câmera: camera.py
  • Movimento do mouse: mouse_virtual.py

Compatibilidade

O controle-O deve funcionar apenas nos sistemas Linux, pois utiliza a biblioteca EvDev para realizar o movimento do mouse, já que o meu sistema Linux utiliza um gerenciador de janelas Wayland, que barra a utilização do pyautogui para mover o mouse. (Não pretendo portar para Windows)

Tecnologias utilizadas

  • IDE: VSCode
  • Linguagem: Python 3.10.19
  • DearPyGui (DPG)
  • EvDev
  • Threading e Queue
  • Meadiapipe
  • OpenCV
  • Numpy
  • Gerenciador de pacotes UV

Como clonar e utilizar o repositório (Utilizando UV)

Caso não tenha UV, use: pip install uv

  • Clonando o Repositório: git clone https://github.com/Zeuxsf/Controle-O.git
  • Abra o repositório na sua IDE favorita e use: uv sync
  • Inicie o Venv: uv venv e depois source .venv/bin/activate
  • Instale as dependências do código: Use uv pip install -r requirements.txt

Criado por: Alexandre S. de França

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors