Kinect RGBDemo de Nicolas Burrus

Ce wiki a été archivé en 2018.

Le nouveau wiki se trouve à: ressources.labomedia.org

Les fonctionnalités sont désactivées: vous pouvez faire une recherche sur Google site:https://wiki.labomedia.org et découvrir La Labomedia.

De Centre de Ressources Numériques - Labomedia
Aller à : navigation, rechercher

Installation de Kinect RGBDemo de Nicolas Burrus sur Ubuntu Natty

Ressources

Récupérer les sources de github

sudo apt-get install git
git clone --recursive git://github.com/nburrus/rgbdemo.git 

Bizarre: Le download de githut donne un dossier nestk vide !

Dépendances

sudo apt-get install libboost-all-dev libusb-1.0-0-dev libqt4-dev libgtk2.0-dev cmake libglew1.5-dev libgsl0-dev libglut3-dev libxmu-dev

Installe entre autres:

  • Boost C++ Libraries development files 1.42

Installer PCL

http://pointclouds.org/downloads/linux.html

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-1.1-dev

Installer OpenCV

sudo add-apt-repository ppa:philip5/extra  
sudo apt-get update  
sudo apt-get install libcv-2.2-dev libhighgui-2.2-dev

Installe entres autres:

  • libcv-2.2-dev libcv2.2 libcvaux2.2 libcvaux2.2-data libhighgui2.2 libunicap2

OpenNI

Il est inutile d'avoir libOpenNI.so dans /usr/lib.L'alerte suivante n'est pas un problème:

CMake Warning at nestk/ntk/CMakeLists.txt:207 (ADD_LIBRARY):

 Cannot generate a safe linker search path for target nestk because files in
 some directories may conflict with libraries in implicit directories:
   link library [libOpenNI.so] in /usr/lib may be hidden by files in:
     /home/pierre/rgbdemo/build/lib
 Some of these libraries may not be found correctly.


CMake Warning at nestk/ntk/CMakeLists.txt:207 (ADD_LIBRARY):

 Cannot generate a safe runtime search path for target nestk because files
 in some directories may conflict with libraries in implicit directories:
   runtime library [libOpenNI.so] in /usr/lib may be hidden by files in:
     /home/pierre/rgbdemo/build/lib
 Some of these libraries may not be found correctly.

Liens divers

sudo ln -s /usr/lib/libopencv_video.so.2.2.0 /usr/lib/libopencv_video.so
sudo ln -s /usr/lib/libopencv_objdetect.so.2.2.0 /usr/lib/libopencv_objdetect.so
sudo ln -s /usr/lib/libopencv_features2d.so.2.2.0 /usr/lib/libopencv_features2d.so

Compilation

Dans le dossier rgbdemo

./linux_configure.sh

equivaut à faire dans build: cmake .. puis

./linux_build.sh

equivaut à faire dans build: make

Si ça rate, détruire le dossier build dans rgbdemo, puis recommencer.

Ajouter votre user au group video

sudo adduser YOURNAME video

se reconnecter

libusb couldn't open USB device /dev/bus/usb/002/005: Permission denied

Permettre à tous les utilisateurs d'accéder à la kinect. Redémarrer.

Test

Dans ...build/bin

./rgbd-viewer

Alerte:

Warning: USB events thread - failed to set priority. This might cause loss of data...

résolue si

sudo ./rgbd-viewer

Il y a un problème de droit quelque part !

Kinect 06.png

Export du modèle 3D en ply et import dans Blender

Premier essai

[Alt] + [J] pour transformer les triangles en Quadrilatères !

Les Normales sont dans tous les sens: l'image UV ne donne rien. Le Recalculate Normals Outside ne donne rien puisque les objets n'ont qu'une face.

Suppression des vertices du fond, recalcul des normales après Alt + J, puis Decimate de 0.5, enfin une image UV !

Kinect 07.png

Meshlab

Ressources

Avec le paquet dans les dépots

Version 1.2.2

Bug à l'ouverture d'un fichier *.ply While opening: '/home/pierre/rgbdemo/build/bin/scene_mesh.ply' Error encountered while loading file: "/home/pierre/rgbdemo/build/bin/scene_mesh.ply" Error details: Unespected eof

Compilation théorique

Récupérer les sources

Récupérer un patch de correction de bug

Dans le dossier /meshlab/src/meshlab

patch -p0 < mvc.patch

Dépendances

sudo apt-get install lib3ds-1-3 libmuparser0 structure-synth liblapack-dev libblas-dev libf2c2-dev wget g++ make libqt4-dev qt4-qmake
sudo rm /usr/lib/libf2c.so && sudo ln -s /usr/lib/libf2c.a /usr/lib/libf2c.so

Levmar

make

pour recommencersur une erreur

make clean && make

Compilation de meshlab

Dans le dossier /meshlab/src/external

qmake -recursive external.pro
make
cd ..
qmake -recursive meshlab_full.pro
make
cd distrib/
./meshlab

Erreur

Ceci fini par soit une erreur de copilation, soit une erreur de segmentation au lancement de meshlab !