sexta-feira, 25 de maio de 2012

Instalando OpenNI no Ubuntu 12.04

O OpenNI é um framework para Interface Natural com o Usuário. É como você interagir com o sistema sem a utilização de comandos ou outros periféricos, como teclado ou mouse. Você basicamente utiliza o próprio corpo para interagir (fazendo gestos ou comandos de voz).

Meu objetivo é instalá-lo para utilizar o kinect no Ubuntu. Então vamos começar a instalação:

Baixe o código fonte do OpenNI no github:

sauron@mordor:$ git clone https://github.com/OpenNI/OpenNI


Se você ainda não tiver o JDK instalado, é necessário instalar. Você pode seguir este link para instalar:

http://www.devsniper.com/ubuntu-12-04-install-sun-jdk-6-7/

Se ficar dando erro de jar: comando não encontrado, instale o openjdk-7-jdk:

sauron@mordor:$ sudo apt-get install openjdk-7-jdk


Agora precisamos instalar as dependencias:

sauron@mordor:$ sudo apt-get install g++ python libusb-1.0-0-dev freeglut3-dev


Os pacotes seguintes são necessário para gerar a documentação (são opicionais):

sauron@mordor:$ sudo apt-get install doxygen graphviz

Depois vá para o diretório OpenNI/Platform/Linux/CreateRedist e rode o executável RedistMaker como root:

sauron@mordor:$ sudo ./RedistMaker


Agorá vá para o diretório OpenNI/Plataform/Linux/Redist/OpenNI-Bin-Dev-Linux-x64-v1.5.2.23 (este diretório pode ser diferente de acordo com a sua versão do linux e do OpenNi) e rode o executável install.sh como root:

sauron@mordor:$ sudo ./install.sh


Você pode testar se está funcionando indo no diretório OpenNI/Plataform/Linux/Bin/x64-Release e executando um dos exemplos:

sauron@mordor:$ ./Sample-NiUserTracker


Lembre-se de conectar a porta USB do kinect e ligá-lo na tomada.

Se ocorrer o seguinte erro:

Open failed: Failed to set USB interface!


Rode este comando:

sauron@mordor:$ sudo rmmod gspca_kinect


Não sei porque acontece este erro.
Agora é só usar o kinect.



Um comentário:

  1. gspca_kinect is a Linux native driver to
    use your Kinect as a standard camera.

    Therefore, it conflicts with OpenNI
    when trying to get access to the device.

    About the command, it's no longer necessary
    (SensorKinect automatically blacklists the module so it doesn't load on reboot).

    Good post, but remember to git checkout unstable after cloning to get the latest version of everything.

    ResponderExcluir