OpenNI, Kinect e Processing

Quando começamos a programação, a única aplicação que pretendíamos apresentar ao final da disciplina de projeto final era uma câmera kinect capturando a imagem de um usuário e esta imagem sendo reproduzida no Tangima em tempo real.

Making_Things_See_M
Para isso, precisávamos primeiramente pesquisar e aprender sobre como acessar a câmera do kinect pelo computador. Neste sentido, o livro Make Things See foi fundamental e indispensável.

Antes de mais nada, é preciso apresentar o dipositivo. O kinect, produto desenvolvido pela Microsoft para o seu console de video-game XBox, é composto na verdade por duas câmeras. O cruzamento da imagem destas cãmeras, aliado a uma leitura de raios infravermelhos, dá ao Kinect a capacidade de ver o mundo em 3 dimensões, com precisão milimétrica. Em outras palavras, o Kinect serve como um scaner 3D.

Nós conectamos o Kinect ao computador pela entrada USB (dependendo do modelo do Kinect, pode ser necessário comprar um adaptador) e utilizamos o Processing com a Biblioteca OpenNI para acessar suas imagens em tempo real.

O capitulo 2 do Make Things See ensina passo a passo o que deve-se fazer para instalar corretamente o Kinect ao computador e como utilizar a biblioteca OpenNi para obter um retorno visual das imagens capturadas pelo Kinect.

O resultado é algo semelhante a isto:

ex05_real_world_measurement

Agora que já conseguimos acessar as imagens scaneadas pelo Kinect, precisamos descobrir a distancia que cada pixel está da camera. A distância destes pixels será enviada para o Tangima, que deverá movimentar seus pinos, reproduzindo a imagem em relevo.

Na página 67 do livro Make Things See, o autor ensina como descobrir a distância que cada pixel da imagem projetada pelo Kinect está da câmera. Ensina também como coverter a distância informada pelo Kinect para Inches ou Milimetros. Em seguida, apresenta o desenvolvimento de uma aplicação onde o usuário clica em um determinado ponto da imagem e o Processing retorna a distância deste ponto em milímetros.

<< INSERIR PRINT SCREEN >>

no próximo post irei descrever como transportamos esta aplicação para uma matriz muito reduzida.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s