Esta es una colección de servicios públicos que me ayudan a grabar y organizar conjuntos de datos RGBD para las necesidades de mi visión por computadora. La característica principal es la compatibilidad con muchos sensores diferentes y un enfoque simplificado para almacenar los conjuntos de datos para segmentarlos y usarlos para varios experimentos, etc.
Para compilar el problema de la biblioteca:
mkdir build
cd build
cmake ..
make
Dado que esta biblioteca tiene complementos que están vinculados a V4L2, OpenNi, OpenNi2, Intel RealSense, DropeSense Kinetic, OpenGL, WXWidgets, OpenCV y otros back-end, cada uno tiene sus propias dependientes y cuando clona por primera vez el repositorio y hace esta construcción solo las cosas básicas se construirán
Si desea descargar OpenNi, OpenNi2, Libfreenect, etc., por favor emita
cd 3dparty && ./get_third_party_libs.sh
El script le hará una serie de preguntas e intentará descargar y configurar las bibliotecas que solicite.
Si se reduce para habilitar sistemas de cámara específicos, etc. (y siempre que sus instalaciones estén bien) puede emitir
cd build
cmake-gui ..
Y allí encontrará una gran lista de elementos Enable_X (Enable_openni2, Enable_jpg, Enable_opengl, etc.). Encenderlos y recompensar la biblioteca generará los complementos requeridos para usarlos.
También hay un editor de GUI (habilitar_Editor) basado en wxwidgets que se pueden usar como una herramienta gráfica para adquirir conjuntos de datos, registrarlos y luego segmentarlos y hacer varias tareas de procesamiento simples sobre ellos.
Después de construirlo, puede ejecutarlo emitiendo:
./run_editor.sh
El proyecto se divide en bibliotecas, aplicaciones, procesadores y herramientas.
Al tomar conjuntos de datos, puede seleccionar entre los módulos vinculados utilizándolos como parámetro. Por ejemplo
./run_grabber.sh -maxFrames 10 -module OPENNI2 -from 0 -to outdir
Esto atrapará 10 marcos (-Maxframes 10) desde el primer dispositivo OpenNI2 (-module OpenNI2) enchufado (siempre
Las posibles opciones para módulos son:
También hay procesadores que pueden procesar las imágenes adquiridas, por ejemplo, suponiendo que tenga una cámara web conectada, ha instalado el repositorio de DarkNet en el directorio 3DParty y descargado los archivos de peso apropiados y también ha habilitado los indicadores Actable_opencv, Enable_V4L2, Enable_Processor_Darknet usando CMake-Gui CMAKE Gui puede procesar las imágenes de incomisos utilizando con el comando de Darktet.
./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 $@
Para volcar 100 cuadros de su cámara web V4L2 hasta el directorio de Grabber/Frames/V4L2Test, puede hacer
./run_grabber.sh -module V4L2 -from /dev/video0 -noDepth -maxFrames 100 -to v4l2test
Para mantener pequeños los tamaños de repositorio, y si desea utilizar AdquisitionBroadcast, debe ejecutar ./getBroadcastDependencies.sh para clonar la biblioteca de Ammarserver completa que no está incluida, ya que tiene su propio repositorio (https://github.com/ammarkov/ammarserver/) para probarlo
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
Sin ser 100% ciertos Openni instalado a través de ROS puede entrar en conflicto con que se descargue como un paquete independiente, hay un script que comienza de la manera ROS, por lo que si ese es su caso, solo ejecute scripts/ros_startcamera.sh y luego puede comenzar a usar OpenNi sin problemas.