2017-02-10 3 views
1

Je me demandais s'il était possible pour quelqu'un de me fournir des exemples de code pour travailler avec des données ponctuelles XYZ dispersées dans la bibliothèque de nuages ​​de points? Je voudrais adapter un modèle cylindrique à un nuage de points dispersés segmentés. En bref, quelque chose comme ça (https://in.mathworks.com/help/vision/ref/pcfitcylinder.html): enter image description hereComment adapter un modèle cylindrique à des données ponctuelles 3D XYZ dispersées?

Merci.

+0

Juste un u pdate sur ce que j'ai fait, j'ai utilisé http://pointclouds.org/documentation/tutorials/cylinder_segmentation.php comme suggéré par @brad et j'ai obtenu la configuration cylindrique. Je l'utiliserai pour obtenir quaternion et obtenir la traduction d'origine. Merci tout le monde! – adityagabbar

Répondre

1

http://pointclouds.org/documentation/tutorials/cylinder_segmentation.php

Il suffit de prendre les choses raccord avion

+0

Merci pour ce Brad, mais ce que j'essaie de faire, c'est d'adapter un modèle au nuage de points cylindrique déjà segmenté. J'ai édité ma question pour le rendre plus clair. – adityagabbar

+1

en dépit du fait que vous avez déjà segmenté le cylindre, autant que je sache, vous pouvez toujours exécuter cette segmentation, et il va générer un modèle cylindre seg dont vous pouvez calculer les coefficients comme indiqué ici: http: // docs .pointclouds.org/trunk/classpcl_1_1_sample_consensus_model_cylinder.html - "computeModelCoefficients" - "optimizeModelCoefficients", –

+1

@SneakyPolarBear Je pense que "computeModelCoefficients" fera l'affaire pour moi. Merci de votre aide. Je vais mettre à jour dès que je l'aurai terminé. – adityagabbar

0

Si vous avez une scène segmentée d'un cylindre et vous avez un cylindre modèle ... icp n'a pas local et minimum vous obtiendrez votre pose (noter qu'il aura symetry rotation et de translation dans la pose (autrement dit, il y aura une série de solutions dont vous obtiendrez un)

Voici le tutoriel icp: http://pointclouds.org/documentation/tutorials/iterative_closest_point.php

+0

Merci encore, mais comme je n'ai pas de modèle antérieur de l'objet, (je pense que cela pourrait fonctionner) pour calculer un modèle approximatif en première étape (en utilisant "computeModelCoefficients"), enregistrez-le et utilisez-le comme match dans séquence plus tard? – adityagabbar

+0

Pour ICP, vous allez vouloir un nuage de points similaire. Cela pourrait être très facile à générer si vous le vouliez, c'est-à-dire générer des cercles de points à différentes hauteurs le long de l'axe z. Vous auriez besoin de connaître le rayon de votre cylindre pour générer ce modèle. Les coefficients du modèle vous diraient tout ce que vous devriez savoir pour faire ce modèle ... bien qu'il soit redondant d'utiliser les deux méthodes, ils vous donneraient tous les deux un résultat similaire avec un "style" différent, c.-à-d. matrice de transformation –

+0

merci pour la mise à jour, malade garder cela à l'esprit. – adityagabbar