Je suis nouveau sur PCL (Point Cloud Library) et j'essayais d'implémenter supervoxel_clustering (this link) sur mon ensemble de données personnalisé. Mon jeu de nuages de points a ces champs: X Y Z R G B L1 L2
où R, G, B sont integer
valeurs entre 0-255
et L1 et L2 sont integer
étiquettes.Conserver les champs personnalisés pendant le processus de clustering supervoxel dans la bibliothèque Point Cloud Library (PCL)
Après avoir appliqué supervoxel, je sauve les nuages de points avec leurs étiquettes:
/// save the labeled cloud
PointLCloudT::Ptr labeled_cloud = super.getLabeledCloud();
pcl::io::savePCDFileASCII("/path/labeled_cloud.pcd", *labeled_cloud);
Ma question est: comment transférer mes étiquettes et couleurs à partir du point d'origine nuages au cours du processus. J'essaie de définir mon propre type de point, quelque chose comme: X Y Z R G B L1 L2 L3
, mais avec le tutoriel sur les types de points, il n'est pas trivial de le faire. Une solution fictive, je pense, utilise KD-tree et transférer des étiquettes de supervoxel résultat aux points d'origine, mais j'ai encore besoin de lire mes points d'origine avec tous les champs personnalisés dans pcl.
Quelqu'un peut-il m'aider?
Merci, Bruce
Merci pour votre réponse. Je pensais à cette solution, c'est facile mais pas sûr. Parce que si pendant le processus de supervoxle l'un des points d'origine sera supprimé, ou qu'il y aura des valeurs NaN, ou pour toute autre raison que l'ordre change, il suffit de copier les étiquettes pour créer un désordre. – Bruce
Mais filtre-t-il les valeurs nan? Je pense que non. Si vous regardez le nuage de points milk_cartoon_all_small_clorox.pcd dans votre exemple, il semble avoir des points nan (xyz are nan, valeur de couleur existe) et pourtant la méthode getLabeledCloud() renvoie exactement le même nombre de points et ceux qui ont des données xyz sont les allumettes. – Rooscannon
Ajouter std :: cout << cloud-> points [0] << "\ n" << cloud-> points [1] << "\ n"; dans le code exemple et il va imprimer (nan, nan, nan - 18,23,9,0) (nan, nan, nan - 18,21,11,0) Est-ce que votre remove de mise en œuvre points? – Rooscannon