Spisu treści:
- Krok 1: Pobierz COLMAP
- Krok 2: Pobierz i zbuduj OpenMVS
- Krok 3: Utwórz skrypt fotogrametrii
- Krok 4: Uruchom skrypt
Wideo: Bezpłatna fotogrametria w systemie Mac OS: od zdjęć do modeli 3D: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Fotogrametria to wykorzystanie obrazów/fotografii do pomiaru odległości między obiektami (dzięki Websterowi). Ale do współczesnych celów jest często używany do tworzenia modelu 3D rzeczy ze świata rzeczywistego bez konieczności korzystania ze skanera 3D.
Istnieje wiele programów, których można używać do fotogrametrii, w tym kilka świetnych darmowych opcji, ale zauważyłem, że wiele (takich jak Meshroom) nie miało dostępnych wersji Mac. Lub wymagałyby karty graficznej z obsługą CUDA (nie jest to typowe dla rzeczy takich jak Macbook). Więc to oznaczało trochę kopania.
W końcu natknąłem się na ten doskonały artykuł:
Doprowadziło to do kolejnego skryptu kompilacji:
Zajęło mi trochę czasu, zanim zacząłem działać, ale kiedy już zacząłem, byłem bardzo zadowolony z wyników, które zacząłem uzyskiwać. Więc zamierzam nieco bardziej podzielić te kroki, szczególnie dla użytkowników komputerów Mac.
Krok 1: Pobierz COLMAP
COLMAP (https://colmap.github.io/install.html) to ładne, małe darmowe narzędzie do rozpoczęcia pracy z fotogrametrią. Na początku próbowałem tego samodzielnie, ale niektóre z późniejszych kroków wymagały CUDA. Więc musiałem zacząć szukać od nowa. Dlatego w późniejszych krokach użyjemy innego oprogramowania.
Pobieranie COLMAP jest łatwe. Możesz postępować zgodnie z instrukcjami tutaj:
Możesz też spojrzeć na najnowszą wersję na ich stronie github: https://github.com/colmap/colmap/releases i pobrać najnowszą wersję COLMAP-dev-mac-no-cuda.zip
Po pobraniu pliku zip rozpakuj go i włóż aplikację COLMAP do folderu Aplikacje.
Krok 2: Pobierz i zbuduj OpenMVS
Następnym programem, którego używam do ukończenia budowy modeli 3d, jest OpenMVS (https://cdcseacave.github.io/openMVS/). Będziesz musiał zbudować to na swojej maszynie, więc postaram się uczynić to tak bezbolesnym, jak to tylko możliwe.
Link do instrukcji dotyczących pobierania i budowania OpenMVS na komputerze Mac jest tutaj:
ale musiałem trochę zmodyfikować. Oto co zrobiłem:
-
Pobierz Xcode ze sklepu App Store
Otwórz Xcode i zaakceptuj licencję
- Zainstaluj Homebrew, jeśli jeszcze go nie masz:
- Zainstaluj GIT:
- Zainstaluj CMake:
- Otwórz terminal i wykonaj następujący skrypt. Upewnij się, że robisz to z miejsca, w którym chcesz, aby openMVS działał (pod moim głównym użytkownikiem mam folder „Projekty”):
#Zainstaluj zależności brew update brew install boost eigen opencv cgal ceres-solver main_path=`pwd` #VCGLib (Wymagane) git clone https://github.com/cdcseacave/VCG.git vcglib #Pobieranie źródeł OpenMVS: git clone https:/ /github.com/cdcseacave/openMVS.git #Build OpenMVS mkdir openMVS_build && cd openMVS_build cmake…/openMVS -DCMAKE_BUILD_TYPE=Wydanie -DVCG_ROOT="$ ścieżka_główna/vcglib" -G "Xcode"
xcodebuild - wydanie konfiguracyjne
Krok 3: Utwórz skrypt fotogrametrii
Następnie stworzyłem skrypt oparty na tym tutaj:
Oto, na czym skończyłem (zwróć uwagę na notatki w skrypcie, ponieważ wymaga to ustawienia niektórych lokalizacji):
Fotogrametria.sh
# Te parametry są specyficzne dla komputera # Przechowuj bieżący katalog: currDir=$PWD
# pobierz nazwę folderu jako zmienną
mójfolder=${PWD##*/}
# Ustaw katalog colmap (zmień go na miejsce, w którym pobrałeś colmap, w razie potrzeby zastąp 'dev' numerem wersji):
colDir=/Aplikacje/COLMAP.app/Contents/MacOS/colmap
# Ustaw katalog openMVS (zmień go na folder „bin/Release”, w którym pobrałeś i zbudowałeś openMVS)
oMVS=/Użytkownicy/joecooning/Projects/openMVS_build/bin/Release
# Ustaw katalog roboczy (tworzę tymczasowy folder obszaru roboczego w moim katalogu „Projekty”, aby przetwarzać dane)
workDir=/Użytkownicy/joecooning/Projects/3dscans/workspace/$myfolder/
mkdir $workDir
cp *-j.webp
$colDir feature_extractor --database_path database.db --image_path.
$colDir exhaustive_matcher --database_path database.db mkdir sparse $colDir mapper --database_path database.db --image_path. --output_path sparse $colDir model_converter --input_path sparse/0 --output_path model.nvm --output_type NVM $oMVS/InterfaceVisualSFM model.nvm $oMVS/DensifyPointCloud model.mvs $oMVS/ReconstructMesh model_dense. Smvs poziom rozdzielczości 1 model_dense_mesh.mvs $oMVS/TextureMesh --export-type obj -o $myfolder.obj model_dense_mesh_refine.mvs
mkdir $currKatalog/model/
cp *.obj $currDir/model/ cp *.mtl $currDir/model/ cp *Kd-j.webp
cd $currDir
Krok 4: Uruchom skrypt
Teraz, gdy masz już skrypt, możesz robić zdjęcia obiektu, z którego chcesz zrobić model 3d. Istnieją inne artykuły i filmy, które mogą dać ci świetne porady, jak najlepiej robić zdjęcia do celów fotogrametrii (takie jak ten: https://www.tested.com/art/makers/460142-art- zdjęcie…).
Ale te zdjęcia do folderu, skopiuj skrypt, który zrobiłeś do folderu.
Z terminala przejdź do folderu, w którym znajdują się zdjęcia i skrypt i uruchom:
sh Fotogrametria.sh
Skrypt wykona resztę pracy za Ciebie. Pamiętaj, że może to zająć trochę czasu (zwłaszcza jeśli używasz wielu zdjęć w wysokiej rozdzielczości). Proponuję najpierw wypróbować kilka mniejszych zestawów zdjęć. Kilka prostych, przykładowych zestawów zdjęć można znaleźć tutaj: (https://www.regard3d.org/index.php/demo-models)
Zalecana:
Jak utworzyć bezpłatną domenę (.co.cc) w Bloggerze z .co.cc: 8 kroków
Jak utworzyć bezpłatną domenę (.co.cc) w Bloggerze z domeną.co.cc: kliknij ten link >> http://www.co.cc
DIY Bezprzewodowa bezpłatna energia elektryczna z fal radiowych w Katmandu: 6 kroków
DIY Bezprzewodowa, bezpłatna energia elektryczna z fal radiowych w Katmandu: To, co zrobiłem, poprawiłem i uczyniłem to jeszcze prostszym i ma tylko dwa końce zamiast czterech. Odpowiedni rozmiar naleśnika z dwoma końcami połączonymi z Arialem i ziemią działa jako odbiornik. Długi odcinek dwóch arialów, jeden połączony z g
Bezpłatna jazda En Sphero: 7 kroków
Free Drive En Sphero: Saludos… Jest to samouczek dla głównych zasad w Sphero. Zobacz wyjaśnienieá la manera de ingresar a la parte de la aplicación que allowe al usuario el manejo libre del robot mediante el control en el smartphone o tableta
Uzyskaj bezpłatną sieć bezprzewodową w telefonie Motorola/nextel/boost: 6 kroków
Uzyskaj bezpłatną sieć bezprzewodową w telefonie Motorola/nextel/boost: Dzisiaj nauczę Cię, jak uzyskać bezpłatną sieć bezprzewodową w telefonie Nextel/Motorola/Boost
Bezpłatna stacja dokująca do iPoda Touch: 5 kroków (ze zdjęciami)
Bezpłatna stacja dokująca do iPoda Touch: Wszystkie potrzebne części są dostarczane z iPodem i są bardzo łatwe do zbudowania. Zasadniczo wycinasz otwór w pudełku i wkładasz adapter dokujący w otwór. Możesz także zrobić stację dokującą dla innych iPodów, ale musisz stworzyć własny szablon. Jeśli zrobisz