Spisu treści:

Bezpłatna fotogrametria w systemie Mac OS: od zdjęć do modeli 3D: 5 kroków
Bezpłatna fotogrametria w systemie Mac OS: od zdjęć do modeli 3D: 5 kroków

Wideo: Bezpłatna fotogrametria w systemie Mac OS: od zdjęć do modeli 3D: 5 kroków

Wideo: Bezpłatna fotogrametria w systemie Mac OS: od zdjęć do modeli 3D: 5 kroków
Wideo: BIM | Akademia Efektywnego Projektowania - Dzień I: Chmura Punktów 2024, Grudzień
Anonim
Bezpłatna fotogrametria w systemie Mac OS: od zdjęć do modeli 3D
Bezpłatna fotogrametria w systemie Mac OS: od zdjęć do modeli 3D

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: