Dies ist eine Sammlung von Versorgungsunternehmen, die mir helfen, RGBD -Datensätze für meine Computer Visionsanforderungen aufzunehmen und zu organisieren. Die Hauptfunktion ist die Kompatibilität mit vielen verschiedenen Sensoren und einem optimierten Ansatz zum Speichern der Datensätze, um sie zu segmentieren und für verschiedene Experimente usw. zu verwenden.
Um das Problem der Bibliothek zu kompilieren:
mkdir build
cd build
cmake ..
make
Da diese Bibliothek Plug-Ins enthält, die mit V4L2, OpenNI, OpenNI2, Intel RealSense, Tiefensese-Kinetik, OpenGL, WXWIDGEs, OpenCV und anderen Back-Ends gebunden sind, haben jeweils ihre eigenen Abhängigkeiten und wenn Sie das Repository zum ersten Mal klonen und diese zuerst die grundlegenden Dinge bauen, werden die grundlegenden Dinge gebaut, die gebaut werden, werden gebaut.
Wenn Sie OpenNI, OpenNI2, libfreenect usw. herunterladen möchten, geben Sie bitte aus
cd 3dparty && ./get_third_party_libs.sh
Das Skript wird Ihnen eine Reihe von Fragen stellen und versuchen, die von Ihnen angeforderten Bibliotheken herunterzuladen und einzurichten.
Wenn Sie wanern, um bestimmte Kamerasysteme usw. zu aktivieren (und vorausgesetzt, dass ihre Installationen in Ordnung sind), können Sie ausgeben
cd build
cmake-gui ..
Und dort finden Sie eine große Liste der Elemente enable_x (enable_openni2, enable_jpg, enable_opengl usw.). Wenn Sie sie einschalten und die Bibliothek neu kompilieren, generieren Sie die erforderlichen Plugins, um sie zu verwenden.
Es gibt auch einen GUI -Editor (enable_editor) basierend auf WXWIDGEs, die als grafisches Tool zum Erwerb von Datensätzen verwendet werden können, sie aufzeichnen und dann sogar segmentieren und verschiedene einfache Verarbeitungsaufgaben erledigen.
Nach dem Aufbau können Sie es ausstellen, indem Sie ausgeben:
./run_editor.sh
Das Projekt ist in Bibliotheken, Anwendungen, Prozessoren und Tools unterteilt
Wenn Sie Datensätze greifen, können Sie aus den verknüpften Modulen auswählen, indem Sie sie als Parameter verwenden.
./run_grabber.sh -maxFrames 10 -module OPENNI2 -from 0 -to outdir
Dadurch werden 10 Frames (-maxframes 10) vom ersten (-von 0) OpenNI2-Gerät (-module openNI2) angeschlossen (vorausgesetzt, es ist in Einklang) und schreiben die Ausgabe dann an Grabber/Frames/Outdir
Mögliche Entscheidungen für Module sind:
Es gibt auch Prozessoren, die die aufgenommenen Bilder verarbeiten können, beispielsweise unter der Annahme, dass Sie eine Webcam angeschlossen haben, das DarkNet-Repository im 3DParty-Verzeichnis installiert und die entsprechenden Gewichtsdateien heruntergeladen haben, und Sie haben auch die Flags enable_opencv aktiviert, enable_v4l2, enable_Prozesor_DarkNet mithilfe von CMMAKE-Gui-Verarbeiten.
./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 $@
Um 100 Frames aus Ihrem V4L2 -Webcam in Grabber/Frames/V4L2Test -Verzeichnis zu entsorgen, können Sie dies tun
./run_grabber.sh -module V4L2 -from /dev/video0 -noDepth -maxFrames 100 -to v4l2test
In order to keep repository sizes small , and If you want to use acquisitionBroadcast you should run ./getBroadcastDependencies.sh to clone the full AmmarServer library which is not included since it has its own repository (https://github.com/AmmarkoV/AmmarServer/) To test it try
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
Ohne zu 100% bestimmte OpenNi, die über ROS installiert sind, kann es in Konflikt damit stehen, dass es als eigenständiges Paket heruntergeladen wird. Es gibt ein Skript, das es auf ROS startet.