Conhecendo o projeto OpenKinect
Autor: Gustavo Jordan | Publicado: 2011-05-24T18:52:00-03:00

O OpenKinect[1] surgiu na corrida para ganhar acesso do Microsoft Kinect no PC em novembro de 2010. Héctor Martin liberou o código da libfreenect no Github que pode ser visto o primeiro commit em 10 de novembro de 2010.&nbsp;No dia 17 de dezembro foi implementado a libfreenect para plataforma win32 usando a libusbemu um emulador da biblioteca libusb 1.0 do linux dentre disto o projeto foi só aumentado e aumentado o suporte.
OpenKinect&nbsp;é uma comunidade de pessoas interessadas em utilizar o Kinect do videogame Xbox em computadores e outros dispositivos criando bibliotecas livres para que a Kinect seja utilizada no Windows, Linux e Mac.
A comunidade OpenKinect consiste em mais de 2000 membros contribuindo com tempo e códigos para o Projeto. Atualmente o foco principal é o software&nbsp;libfreenect. Os Códigos contribuídos no OpenKinect sempre que possíveis são disponibilizados sob uma licença Apache 2.0 ou opcionalmente GPL2.
Código fonte disponível em:&nbsp;https://github.com/OpenKinect/libfreenect

Se você quiser participar ou somente assistir o progresso do esforço OpenKinect, se inscreva lista de e-mail. OpenKinect.
A libfreenect
O&nbsp;framework&nbsp;OpenKinect&nbsp;possui o driver&nbsp;libfreenect&nbsp;que&nbsp;inclui todo o código necessário para ativar, inicializar e fazer a comunicação de dados com o hardware Microsoft Kinect,&nbsp;o OpenKinect não possui detecção de gestos por padrão, mas você também pode usar em conjunto a biblioteca OpenCV que possui módulos de&nbsp;processamento de Imagens e Vídeo I/O,&nbsp;estrutura de dados,&nbsp;álgebra&nbsp;linear, GUI,&nbsp;controle de mouse e teclado, além de algoritmos de&nbsp;visão&nbsp;computacional como:&nbsp;filtros de imagem, calibração de câmera, reconhecimento de objetos, análise estrutural e outros.
Suporte da libfreenect;
Imagens de profundidade e RGB (Cor      e infravermelho)
Motor vertical
Acelerômetro
LED
Áudio em implementação

A API que funciona em Windows, Linux e Mac OS X e possui extensões para várias linguagens / plataformas:Python
C      Synchronous
Actionscript
C++
C#
Java JNI
Java JNA
Javascript

API possui alguns toolkits ou utilitários;Record- Pegando os dados da Kinect      em arquivos PPM, PGM, e um dump binário para RGB, profundidade, e      Aceleração respectivamente.
Fakenect&nbsp;-      libfreenect simulador/mock interface que permite o use dos demos da kinect      sem você ter um sensor kinect (dados de plays backs gravados)


Algumas diferenças de características entre os frameworks OpenNI e OpenKinect


   Características   OpenKinect   OpenNI  
   Driver   (módulo)   libfreenect   SensorKinect   Avin2 / CL NUI  
   Câmera   RGB   Sim   Sim  
   Câmera   Infravermelho   Sim   Sim  
   Projetor   Infravermelho   Sim   sim  
   LED   Sim   Sim  
   Motor   vertical   Sim   Em   implementação  
   Áudio   Em   implementação   Em   implementação  
           
   Detecção   de gestos   Não   possui dentro da API, mas pode ser implementado na aplicação. Exemplo de uso   OpenCV que possui módulos de processamento de imagem.   NITE   Middleware  
   Detecção   do Esqueleto   Não   Sim  
   Detecção   da Mão   Não   Sim  
   Analisador   de Cenas   Não   Sim  
           

Instalando a libfreenect no Debian
Você pode adicionar em seus repositórios do apt / aptitude o repositório, assim a instalação será facilitada e não precisara se preocupar com dependências.

Você abrirá o arquivo com permissões de root que fica em;
Abrindo pelo gedit no Gnome;#gedit /etc/apt/sources.list
Adicione no final da linha;
deb http://ftp.br.debian.org/debian experimental main non-free
Execute o comando para atualizar (eu prefiro o aptitude rsrs);#aptitude update
Após isso execute o comando para instalar;#aptitude install libfreenect-dev libfreenect-demos
Será instalado a libfreenect e alguns demos que você pode executar.
$freenect-cppview


$freenect-glpclview
A aplicação glpcview mostra demonstra a capacidade das câmeras de infravermelho e RGB que demonstra a imagem tridimensional você pode usar e abusar da captura 3D do infravermelho use o seu mouse para testar.
Você pode estudar o código e ver as funções e bom uso!



$freenect-glview
A aplicação glview demonstra a captura da câmera RGB e infravermelho, e mostra que você pode mudar o LED do Kinect apertando teclas do teclado 1 à 4 , e inclinar o motor verticial para cima e para baixo apertando 'W' para cima e 'S' para baixo.
Você pode estudar o código e ver as funções e bom uso!


Figura mostrando a aplicação glview (mostra câmera rgb e infravermelho)
Compilando a libfreenect no Linux
Você precisara resolver algumas dependências, se você estiver usando ubuntu/debian tente procurar em seu repositório, a seguir;
* cmake* libusb-1.0-0* libusb-1.0-0-dev* pkg-config* libglut3* libglut3-dev
Instale o git em sua máquina para fazer download do repositório do OpenKinect a libfreenect ou faça download direto do site;
$ git clone&nbsp;https://github.com/OpenKinect/libfreenect.git
$ cd libfreenect
Após isso você fara o processo de compilação;

$ mkdir build$ cd build$ cmake ..$ make$ sudo make install$ sudo ldconfig /usr/local/lib64/
Após isso faça o teste entre na pasta libfreenect/wrappers/ e veja o exemplos em linguagens que você preferir.Veja também exemplos dentro da pasta libfreenect/examples em C/C++ e veja como é fácil utilizar a API OpenKinect para chamar as câmeras usando OpenGL para desenhar.
Alguns métodos da biblioteca podem ser encontrados no link http://openkinect.org/wiki/Low_Level
Referências
[1]&nbsp;http://openkinect.org&nbsp;– OpenKinect.org