Camera Kombat: Mortal Kombat ao vivo com WebCam
Camera Kombat é um projeto que utiliza recursos da biblioteca OpenCV, utilizada em aplicações de visão computacional. Com o processamento do vídeo ao vivo os movimentos realizados pelos jogadores são interpretados e convertidos em ação no jogo. Neste artigo veremos como funciona o projeto como um todo.
Introdução (como funciona)

Em primeiro lugar parabenizo os autores do projeto Fábio R. de Miranda, Luis Roberto Pereira de Paula e Renato Bonini Neto. O trabalho e a idéia foram excelentes, estou desenvolvendo pesquisas sobre visão computacional e pensava em desenvolver algo similar se um dia tivesse tempo disponível.
O trabalho de tratamento de imagens deste projeto ficou sobre responsabilidade das funções da biblioteca OpenCV. Para quem não sabe, OpenCV ou Open Source Computer Vision é uma biblioteca com mais de 500 funções de geração e manipulação de imagens, que ajuda os pesquisadores a desenvolverem aplicações de visão computacional, como o reconhecimento de face, de gestos, de formas ou objetos e atualmente o reconhecimento audiovisual. Desde o seu lançamento em 2000, a OpenCV presenciou mais de 500.000 downloads de código e atraiu mais de 5.000 membros inscritos para seu grupo de usuários.
Tentarei descrever um resumo de como funciona o projeto. Quando uma seqüencia dos movimentos com os braços são identificados, um objeto virtual (o poder) é disparado contra o adversário. O adversário deve se desviar deste objeto (poder) que caminha em sua direção.

As imagens são capturas de uma webcam, analisadas, processadas e exibidas no monitor. Na inicialização o sistema captura uma imagem para processar os elementos e/ou objetos estáticos presente na cena.
Depois de definido o fundo capturado inicialmente pela webcam, o processo de subtração acontece pixel a pixel com os quadros extraídos do vídeo ao vivo. Logo após são localizados as regiões cabeça, mãos, pés e centro de massa.
Ao detectar todos os pontos, os gestos devem ser identificados. Para isto verifica-se o ângulo formado pela abertura do braço e distância da altura da mão comparado a cabeça. Na figura abaixo, reparem que os braços ligeiramente abertos não caracterizam socos, já com o braço inteiramente aberto é reconhecido como um soco.

Agora chega de historinha e vamos descer o dedo para o teclado ;-)
Bom, aqui em casa faltou a seguinte dependência pra compilar o camera-kombat:
apt-get install freeglut3-dev
Um abraço e meus parabéns pelo artigo!