2014-12-01 39 views
5

Próbuję wygenerować dane chmury punktów z siatki, takie jak (.obj) plik Maya. Ale, mógłbym znaleźć tylko odwrotny przypadek, chmura punktów do siatki w Internecie. Czy istnieje sposób na utworzenie "danych chmury punktów z siatki" za pomocą narzędzi 3D, takich jak MeshLab lub Maya? (Preferuję używanie MeshLab)Czy mogę wygenerować Chmurę punktów z siatki?

Dzięki. :)

+0

Jaki format pliku chcesz wydrukować? – theodox

+1

Nie ma znaczenia format wyjściowy. Chcę tylko uzyskać dane chmury punktów. –

Odpowiedz

2

Ma kilka różnych narzędzi wiersza polecenia do obracania oczek w chmurach punktów, o ile wiem, przez renderowanie obiektu do punktów z zestawu widoków i łączenie renderowania. np. pcl_mesh2pcd, pcl_mesh_sampling

+0

Dziękuję za odpowiedź. –

+0

Ale, próbuję to zrobić, powiedziałeś, mam problem. Chcę przekonwertować platformę obj na pcd. Ale pcl_mesh2pcd i pcl_mesh_sampling wystąpił błąd (Program just dye ... TT). Co mogę zrobić? –

+0

Możesz spróbować otworzyć kolejne pytanie pokazujące te błędy. Być może ktoś inny miał podobny problem, może są jakieś błędy, może jakiś bitot go ustawił, itp. Ktoś powinien być w stanie pomóc. Nie korzystałem osobiście z tych narzędzi, a obecnie nie mam zainstalowanej wersji PCL, ale być może będę w stanie pomóc, jeśli zobaczę błędy. –

2

To ciekawe, że nie ma jednoznacznych odpowiedzi na to pytanie w sieci.

Konwersja z siatki do chmury punktów to , a nie, podobnie jak zakleszczenie wierzchołków siatki w chmurce punktów! Siatka to rzadka reprezentacja chmury punktów. Dlatego, aby przekształcić siatkę w chmurę punktów, należy pobrać punkty na powierzchni siatki. PCL ma narzędzie do robienia tego o nazwie pcl_mesh_sampling. Kod źródłowy to located here.

Zasadniczo próbki metod N punktowo równomiernie od powierzchni siatki przy użyciu VTK. Jest bardzo skuteczny i otrzymasz chmurki punktów z dowolną liczbą punktów.

1

Szukałem podobnego problemu. Musiałem wyświetlić model siatki w różnych pozach, aby wygenerować dane typu pointcloud.

A potem znalazłem poniższy projekt w github. Jeśli ktokolwiek chce wygenerować pointclouds (.pcd) z obiektu siatki ( .obj) w różnych pozach, pomogłoby to.

Spowoduje to symulację pointcloud typu kinect dla danego obiektu typu mesh.

https://github.com/jbohg/render_kinect

1

Konwersja triangulated siatkę do punktu chmurze oznacza, że ​​chcesz zrobić próbkowanie punkt na tej powierzchni. W zależności od wymaganej dystrybucji (np. Uniform Montecarlo, Poisson Disk, itp.) Istnieją różne algorytmy z całkiem różnymi wynikami. Na przykład, jeśli potrzebujesz dobrze rozmieszczonego losowego punktu, potrzebujesz dystrybucji dysku poissona. Możesz przetestować niektóre z tych algorytmów wewnątrz siatki lub bezpośrednio na twoim browswercie na http://www.meshlabjs.net/ (wystarczy załadować siatkę i wpisać "próbkowanie" w polu wyszukiwania).

można znaleźć C++ otwarty realizację źródłowego wewnątrz biblioteki przetwarzania oczek VCG (http://www.vcglib.net) oraz opis tych algorytmu (całkiem proste do wdrożenia) w:

wydajnego i elastycznego pobierania próbek z niebieskim hałasu właściwości trójkątnych oczkach
M Corsini P Cignoni R Scopigno
IEEE Transactions on Computer Graphics wizualizacji i 18 (6), 914-924
http://vcg.isti.cnr.it/Publications/2012/CCS12/

2

Darmowy i open-source projekt CloudCompare może ładować siatki OBJ, a następnie generować chmury punktów na siatce, które następnie można zapisać w różnych formatach.

+0

To jest najlepsza metoda jaką widziałem do tej pory, dobra dystrybucja punktów oraz zachowanie wartości RGB z modelu. Byłoby jeszcze lepiej, gdyby mógł utrzymać normalne wektory, ale bardzo niewiele oprogramowania chmury punktów obsługuje obecnie normalne cieniowanie. Metoda: Importuj obj, wybierz siatkę, Edytuj/Edytuj siatkę/Przykładowe punkty – David

0

Chciałem zrobić to samo, ale preferowałem coś, co można łatwo zrobić w Pythonie. Znalazłem ten post, aby był naprawdę przydatny. Używa biblioteki Python o nazwie pyntcloud. Ładuje siatkę w formacie .ply i losowo losuje określoną liczbę punktów tak, aby pokryła powierzchnię w bardziej lub mniej równomierny sposób. Można go łatwo dostosować do innych formatów. Zrobiłem to dla plików .off i działa dobrze.