Il s'agit d'une collection de services publics qui m'aident à enregistrer et à organiser des ensembles de données RVBD pour mes besoins en vision par ordinateur. La caractéristique principale est la compatibilité avec de nombreux capteurs différents et une approche rationalisée pour stocker les ensembles de données afin de les segmenter et de les utiliser pour diverses expériences, etc.
Pour compiler le problème de la bibliothèque:
mkdir build
cd build
cmake ..
make
Étant donné que cette bibliothèque dispose de plug-ins qui sont liés à V4L2, OpenNI, OpenNI2, Intel Realsense, DepthSense Kinetic, OpenGL, WXWidgets, OpenCV et autres back-ends, chacun a ses propres dépendances et lorsque vous clonez pour la première fois le référentiel et faites-le d'abord, seuls les choses de base seront construites
Si vous souhaitez télécharger Openni, Openni2, LibfreeNect, etc., veuillez émettre
cd 3dparty && ./get_third_party_libs.sh
Le script vous posera une série de questions et essaiera de télécharger et de configurer les bibliothèques que vous demandez.
Si vous voulez activer des systèmes de caméras spécifiques, etc. (et à condition que leurs installations soient OK), vous pouvez émettre
cd build
cmake-gui ..
Et là, vous y trouverez une grande liste des éléments Activer_x (Activer_Openni2, activy_jpg, activy_opengl, etc.). Les activer et la recompilation de la bibliothèque générera les plugins requis pour les utiliser.
Il existe également un éditeur de GUI (active_editor) basé sur WXWidgets qui peut être utilisé comme un outil graphique pour acquérir des ensembles de données, les enregistrer puis les segmenter et effectuer diverses tâches de traitement simples sur eux.
Après l'avoir construit, vous pouvez l'exécuter en émettant:
./run_editor.sh
Le projet est divisé en bibliothèques, applications, processeurs et outils
Lorsque vous saisissez des ensembles de données, vous pouvez sélectionner dans les modules liés en les utilisant comme paramètre. Par exemple
./run_grabber.sh -maxFrames 10 -module OPENNI2 -from 0 -to outdir
Cela saisira 10 images (-maxframes 10) du premier périphérique OpenNI2 (-Module OpenNI2) branché (à condition qu'il soit compilé), puis écrivez la sortie à Grabber / Frames / Outdir
Les choix possibles pour les modules sont:
Il existe également des processeurs qui peuvent traiter les images acquises par exemple en supposant que vous avez une webcam connectée, vous avez installé le référentiel DarkNet sur le répertoire 3DParty et téléchargé les fichiers de poids appropriés et vous avez également activé les drapeaux activés enable_opecv, activé_v4l2, activer_processor_darkt en utilisant Cmake-Gui que vous pouvez traiter des images d'incominage avec DarkNet avec la commande suivante.
./run_viewer.sh -module V4L2 -from /dev/video0 -noDepth -processor ../processors/DarknetProcessor/libDarknetProcessor.so DarknetProcessor $DIR/3dparty/darknet/yolo.weights $DIR/3dparty/darknet/cfg/yolo.cfg $DIR/3dparty/darknet/cfg/coco.data --payload ./payload.sh $@
Afin de vider 100 images de votre webcam V4L2 à Grabber / Frames / V4L2Test que vous pouvez faire
./run_grabber.sh -module V4L2 -from /dev/video0 -noDepth -maxFrames 100 -to v4l2test
Afin de garder les tailles de référentiel petites, et si vous souhaitez utiliser AcquisitionBroadcast, vous devez exécuter ./GetBroadScastDependces.sh pour cloner la bibliothèque Ammarserver complète qui n'est pas incluse car il a son propre référentiel (https://github.com/ammarkov/ammarrserver/) pour le tester (https://github.com/ammarkov/ammarrserver/) pour le tester (https://github.com/ammarkov/ammarrserver/) pour le tester pour essayer
wget http://127.0.0.1:8080/rgb.ppm -O rgb.ppm
wget http://127.0.0.1:8080/depth.ppm -O depth.ppm
wget -qO- http://127.0.0.1:8080/control.html?seek=10
Sans être à 100%, certains Openni installés via ROS peuvent entrer en conflit avec le téléchargement en tant que package autonome, il y a un script qui démarre la manière ROS, donc si c'est votre cas, exécutez simplement les scripts / ros_startcamera.sh, puis vous pouvez commencer à utiliser Openni sans problème!