Este projeto tem como objetivo desenvolver uma aplicação de Visão Computacional avançada que permite aos usuários controlar a reprodução de vídeo e música utilizando gestos manuais. Através do uso da câmera do dispositivo, é possível pausar, despausar e realizar outras funções de controle de mídia sem a necessidade de interagir diretamente com dispositivos físicos como teclado e mouse. Essa tecnologia oferece uma camada adicional de acessibilidade e conveniência, tornando-a particularmente valiosa para pessoas com dificuldades visuais, de mobilidade, ou qualquer pessoa que busque uma forma mais intuitiva e livre para interagir com seus dispositivos.
- Pausar e Despausar: Ao mostrar a palma da mão aberta, o usuário pode pausar a reprodução de vídeos ou músicas.
- Ajuste de Volume:
- O gesto de "rock", realizado com a mão, é responsável por aumentar o volume da reprodução.
- O gesto de "3" (indicador, médio e anelar levantados), realizado com a mão, é responsável por diminuir o volume da reprodução.
- Ao mostrar o dedo indicador voltado para cima, o som da reprodução é ativado/desativado.
- Velocidade da reprodução:
- O gesto de "Hang Loose", realizado com a mão, é responsável por acelerar a velocidade da reprodução.
- O gesto de "V", realizado com a mão, é responsável por desacelerar a velocidade da reprodução.
- Mudança de faixa:
- Ao mostrar o dedo indicador voltado para a direita, a reprodução é avançada, mudando para a próxima reprodução.
- Ao mostrar o dedo indicador voltado para a esquerda, a reprodução é recuada, mudando para a reprodução anterior.
(Nota: Este projeto está em desenvolvimento contínuo, e novas funcionalidades serão adicionadas à medida que avançarmos.)
- OpenCV: Para captura de imagem e reconhecimento de gestos.
- PyAutoGUI: Para automação de tarefas de controle de mouse e teclado.
- MediaPipe: Para reconhecimento de gestos e outras tarefas de processamento de vídeo e imagem.
Siga os passos abaixo para instalar e utilizar esta aplicação:
-
Verificação de Instalação do Python: Certifique-se de que o Python está instalado em sua máquina. Se necessário, visite python.org para baixar e instalar a versão mais recente.
-
Instalação das Dependências: O funcionamento do projeto depende de diversas bibliotecas. Utilize o gerenciador de pacotes pip para instalar o OpenCV e outras bibliotecas necessárias:
pip install opencv-python mediapipe pyautogui
Antes de executar a aplicação, é necessário configurar o ambiente de desenvolvimento:
-
Clone o Repositório: Clone o repositório do projeto para sua máquina local.
-
Ambiente Virtual: Recomenda-se a criação de um ambiente virtual Python para o projeto. Isso pode ser feito com o seguinte comando:
python -m venv venv
Ative o ambiente virtual com:
- No Windows:
venv\Scripts�ctivate
- No Linux ou macOS:
source venv/bin/activate
- No Windows:
-
Instale as Dependências: Com o ambiente virtual ativado, instale todas as dependências necessárias conforme mencionado acima.
Para iniciar a aplicação, execute o script principal com o comando abaixo, certificando-se de que está no diretório do projeto:
python detection_gesture_app.py
- Inicie a Aplicação: Execute o script conforme instruído.
- Realize os Gestos: Faça os gestos pré-definidos em frente à câmera para controlar a reprodução de sua mídia.
- Ajuste Conforme Necessário: Baseado no feedback visual, ajuste seus gestos para otimizar o reconhecimento pela aplicação.
Contribuições são bem-vindas! Se você tem ideias ou melhorias, sinta-se à vontade para forkar o repositório e submeter um pull request.
Avaliar a implementação e eficácia de uma aplicação de Visão Computacional que permite aos usuários controlar a reprodução de vídeo e música utilizando gestos manuais.
- Implementação dos Gestos Básicos (40 pontos): O sistema deve ser capaz de identificar e responder corretamente aos gestos básicos de pausar e despausar a reprodução.
- Funcionalidades Adicionais (20 pontos): A aplicação deve incluir funcionalidades extras como ajuste de volume, mudança de faixa, controle de velocidade e feedback visual.
- Implementação de Movimentos Não Triviais (20 pontos): A aplicação deve incluir gestos complexos, como o gesto de "3" para diminuir o volume e o gesto de "rock" para aumentar o volume.
- Precisão no Reconhecimento de Gestos (20 pontos): A precisão com que o sistema reconhece os gestos manuais dos usuários.
- Excelente (90-100 pontos): Atende ou excede todas as expectativas em todos os critérios.
- Bom (70-89 pontos): Atende às expectativas na maioria dos critérios e excede em alguns.
- Satisfatório (50-69 pontos): Atende às expectativas mínimas na maioria dos critérios.
- Insuficiente (0-49 pontos): Não atende às expectativas mínimas em vários critérios.