2016-11-30 4 views
2

J'ai besoin de traiter un fichier de photogrammétrie pour pointer un nuage puis appliquer le module d'analyse en utilisant Python. En utilisant meshlab, j'ai réussi à exporter le fichier xyz de mon modèle puis converti en fichier txt, donc je peux facilement accéder et tracer des données en utilisant matplotlib. Après l'exportation, j'ai réalisé que les composants z des fichiers semblaient être groupés, ce qui signifie que lorsque j'ai importé le fichier dans un script python et que je l'ai exécuté, la plage était très limitée, presque comme si tout était compressé.Traitement Point Cloud, format de fichier * .xyz avec 6 colonnes

Quand j'ai ouvert exactement le même fichier sur MeshLab il semblait bien. Puisque le fichier xyz a 6 colonnes et que j'ai utilisé seulement les 3 premières, je soupçonne que c'est la cause mais je ne suis pas sûr du problème. J'ai utilisé tous les éléments sur les 3 premières colonnes dont je suis sûr qu'elles sont des composantes x y et z. J'ai joint les images pour la comparaison, j'espère que cela aide.

Voici ce que la version texte du fichier xyz ressemble (il y a plus de 100000 lignes vraiment).

-4.985628 -4.780845 338.250854 -0.017581 0.003231 1.949280 

-3.285533 -4.431212 342.610321 -5.846900 1.895777 0.458446 

-3.165349 -4.922605 338.837158 1.874727 2.051935 -1.483359 

-3.215735 -4.802375 340.320557 0.734949 1.160611 -3.693605 

-4.378054 -4.010946 338.241455 0.105474 0.526878 6.178342 

-3.421478 -4.800171 339.638275 5.733778 0.596651 -0.693699 

-3.258153 -4.573445 342.971680 -4.019710 -3.309187 0.685745 

-3.177556 -4.822459 340.345184 0.145794 -4.698930 -2.289058 

-3.182967 -4.490508 342.649597 2.286415 4.822868 -0.867586 

-2.500194 -4.949868 339.606293 3.396397 -2.453691 -3.078794 

-3.351677 -4.784164 340.290802 -0.003160 -6.204160 -0.270498 
+0

Il peut sembler qu'il existe un problème avec la plage de l'axe z, mais ce n'est pas le cas. J'ai essayé de changer la gamme de l'axe z plusieurs fois et il ne s'est pas avéré être la bonne réponse. –

+0

Pourriez-vous fournir le code que vous utilisez forma en convertissant xyz en txt et en traitant un python? –

+0

Merci pour votre intérêt David, mais j'ai compris qu'il y avait un problème avec l'origine du nuage de points, ajoutant de la hauteur inutile à toutes les valeurs de z et vissant avec la mise à l'échelle de l'ensemble du système. Si vous êtes intéressé je peux toujours vous fournir mon code, mais le problème est résolu. Merci quand même! –

Répondre

0

Problème résolu, il était juste avec le réglage de l'axe ainsi que le point d'origine. Tous les points étaient bien au-dessus de l'origine, résultant de la structure à l'air comprimé. Tant que vous gardez à l'esprit l'origine et la mise à l'échelle, cela fonctionne bien.