Kaaktracker, door AuwdioNerd

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?

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).