Étape 4: Opcional : Visão Computacional
Requisitos :
- Sistema operacional Windows 7 ou 8 (pode funcionar em outros sistemas) ;
- Conhecimentos em linguagem Python (pode funcionar com e/ou C/C++ Java) ;
- Bibliotecas : PyUserInput (requer pywin32 e pyHook também) e OpenCV.
Materiais Contra :
- 1 WebCam (uma câmera de portable deve funcionar bem) ;
- Objeto de uma cor só (como o arco e un luva, que são predominantemente amarelos).
Conceito :
Un detecção de objetos por cor utilizando o OpenCV não é uma tarefa difícil, POI existem tutoriais muito bem explicados sobre o assunto. Com isto, é possível pegar un endroit de determinado objeto na câmera e associar esta posição com uma posição na tela, por exemplo.
Une movimentação Skyrim é baseada amendements movimentos la souris. Com une biblioteca PyUserInput é possível enviar comandos de souris, como movimento pela tela e cliques.
Tendo o controle da movimentação la souris programaticamente, vamos criar regras na detecção de objetos para que o posicionamento na câmera gere eventos de movimentação la souris, movimentando assim o personagem dentro do jogo.
Notez que une foi d’utilizada linguagem Python 2.x, entretanto, o OpenCV está disponível para outras linguagens também onde o conceito aplicado pode ser o mesmo e será Chipre apenas encontrar novas bibliotecas para se obter controle dos eventos de souris.
OBS: Se d’utilizar Visão computacional para controlar la souris un movimentação, você pode pintar o centro do arco com uma cor diferente (azul, por exemplo) para melhor detecção de posicionamento.
Modo de Fazer :
- Após un instalação das bibliotecas, siga tutoriel este do OpenCV para aprender un detectar objetos na câmera por cor. A cor utilizada aucun tutoriel foi o azul, mas você pode usar ferramentas como esta para descobrir valores para detecção de outras carottes.
- Após un detecção faire de massa por objeto cor, vamos retirar o centro de massa dessa cor utilizando contornos explicados neste tutoriel. Isto ter de nos permitirá um ponto que estima bem a posição n’objeto como um todo.
- Depois de obter a posição objeto em coordonnées XY e, vamos associá-las com comme coordonnées computador utilizando este da guia Microsoft sobre un interface de souris das bibliotecas que estamos utilizando.
- AO final, com comme coordonnées XY e do objeto da câmera convertidas em coordonnées na tela, basta movimentar o souris de acordo com os valores que obtivemos destes algoritmos.
Notez que o código fonte está disponível nas imagens deste passo, e que comme implementações podem x de acordo com as necessidades de cada ambiente (Clamp de luz, qui de souris, etc..).
O código disposition faz com que o souris siga os movimentos que o jogador faz com o objeto colorido na tela, conforme o vídeo disposition.