In een notendop: ben bezig met een meetinstrument op basis van een 3D scanner; vermoedelijk een Revopoint POP 3 ($700ish) of een Intel Realsense D405 ($320ish)
daarvan ‘point cloud’ output in eigen C++ code interpreteren: virtueel daarin een gebit kunnen plaatsen/herkennen waarvan de 3D geometrie in hi-res al bekend is
liefst real-time zoals in dit artikel Sensors | Free Full-Text | Real-Time 6-DOF Pose Estimation of Known Geometries in Point Cloud Data
goeie kandidaten qua platforms:
PCL pointclouds.org
Open3D
Cilantro
ben nu in PCL bezig, kijken of ik deze twee tutorials kan combineren:
https://pcl.readthedocs.io/projects/tutorials/en/master/alignment_prerejective.html
https://pcl.readthedocs.io/projects/tutorials/en/master/tracking.html
eerder vandaag op de PCL Discord:
hi all - I’m trying to get pcl/doc/tutorials/content/sources/tracking at master · PointCloudLibrary/pcl · GitHub to work; am getting this error:
tracking_sample.cpp:3:10: fatal error: 'pcl/io/openni_grabber.h' file not found
#include <pcl/io/openni_grabber.h>
do I need to add a folder to PCL_INCLUDE_DIRS somehow?
and could/should I alter this example to work with OpenNI2?
audionerd:
pcl/io/openni_grabber.h
Do you have libpcl-dev installed?
ik heb de tutorial gevolgd, werd die daar genoemd?
Geen idee. Ik heb met apt-file gezocht in welke debian package die header-file zit.
dus eerst een git clone gedaan van de hele PCL repo
toen deze corresponderende folder op mijn HD geopend in VS Code, op macOS 12.6.6
daarna typisch ding van mkdir build && cd build, cmake … (met nog wat parameters) en make
wat zijn de parameters?
staat pkg-config op je systeem? dat is typisch de tool die de headerfiles etc bij elkaar verzameld.
parameters zijn nodig voor een Qt5 library die om e.o.a. reden niet standaard gevonden wordt:
cmake -DQt5_DIR=$(brew --prefix qt5)/lib/cmake/Qt5 ..
pkg-config ben ik in het hele PCL gebeuren nog niet tegengekomen… kan wellicht zo even installeren met brew, vraag me af of dat nodig is. het gaat immers om een folder die niet gevonden kan worden - lijkt me dus eerder een kwestie van toevoegen van een path aan iets
Dat is precies wat pkg-config doet; vertellen aan de compiler/etc waar alle include-files/libraries staan.
Welke output geeft cmake als je in een lege ‘build’-directory die cmake … [etc] regel doet?
werkt dat ook zo als er cmake gebruikt wordt?
het leek me dat in deze bijgeleverde CMakeLists.txt die PCL_INCLUDE_DIRS relevant zijn, en daar mogelijk een path in mist
ja, dat werkt ook zo als er cmake gebruikt wordt
ah, zie nu dat het compilen van PCL wat meer voeten in de aarde heeft:
https://pcl.readthedocs.io/projects/tutorials/en/latest/compiling_pcl_macosx.html
daar wordt die libpcl-dev niet genoemd trouwens.
waarom ik dacht/denk dat het een path-ding is, is omdat die missende header file wel elders in de PCL repo staat al
Nee ik ging er in 1e instantie vanuit dat je linux gebruikt (nav libpcl-dev).