Inhoudsopgave:

Gratis fotogrammetrie op Mac OS: van foto's naar 3D-modellen: 5 stappen
Gratis fotogrammetrie op Mac OS: van foto's naar 3D-modellen: 5 stappen

Video: Gratis fotogrammetrie op Mac OS: van foto's naar 3D-modellen: 5 stappen

Video: Gratis fotogrammetrie op Mac OS: van foto's naar 3D-modellen: 5 stappen
Video: Easily Create 3D Models from Photos and Videos on Mac - Free! 2024, November
Anonim
Gratis fotogrammetrie op Mac OS: van foto's tot 3D-modellen
Gratis fotogrammetrie op Mac OS: van foto's tot 3D-modellen

Fotogrammetrie is het gebruik van afbeeldingen/fotografie om afstanden tussen objecten te meten (met dank aan Webster). Maar voor moderne doeleinden wordt het vaak gebruikt om een 3D-model te maken van iets uit de echte wereld zonder dat een 3D-scanner nodig is.

Er is genoeg software die je kunt gebruiken voor fotogrammetrie, inclusief een aantal geweldige gratis opties, maar ik merkte dat veel (zoals Meshroom) geen Mac-builds beschikbaar hadden. Of ze hebben een grafische kaart nodig met CUDA-ondersteuning (niet typisch voor zaken als een Macbook). Dat betekende dus wat rondneuzen.

Ik kwam eindelijk dit uitstekende artikel tegen:

Dit leidde tot een vervolgscript:

Het kostte me een tijdje om het werkend te krijgen, maar toen ik het eenmaal aan de gang had, was ik best tevreden met de resultaten die ik begon te krijgen. Dus ik ga de stappen wat meer uitsplitsen, speciaal voor jullie Mac-gebruikers die er zijn.

Stap 1: Download COLMAP

COLMAP (https://colmap.github.io/install.html) is een leuke, kleine gratis tool om aan de slag te gaan met fotogrammetrie. Ik heb het eerst alleen geprobeerd, maar voor sommige van de latere stappen was CUDA vereist. Dus ik moest weer gaan zoeken. Daarom zullen we voor de latere stappen andere software gebruiken.

Het downloaden van COLMAP is eenvoudig. Je kunt de instructies hier volgen:

Of je kunt de nieuwste release bekijken op hun github-pagina: https://github.com/colmap/colmap/releases en de nieuwste COLMAP-dev-mac-no-cuda.zip downloaden

Nadat u de zip hebt gedownload, pakt u deze uit en plakt u de COLMAP-app in uw map Programma's.

Stap 2: Verkrijg en bouw OpenMVS

Het volgende programma dat ik gebruik om de 3D-modellen te bouwen is OpenMVS (https://cdcseacave.github.io/openMVS/). Je zult dit op je machine moeten bouwen, dus ik zal proberen dit zo pijnloos mogelijk te maken.

De link naar de instructies voor het verkrijgen en bouwen van OpenMVS op een Mac is hier:

maar ik moest wel iets aanpassen. Dit is wat ik deed:

  • Download Xcode uit de App Store

    Open Xcode en ga akkoord met de licentie

  • Installeer Homebrew als je het nog niet hebt:
  • Installeer GIT:
  • Installeer CMake:
  • Open een terminal en voer het volgende script uit. Zorg ervoor dat je het doet vanaf een plek waar je wilt dat openMVS leeft (ik heb een map 'Projecten' onder mijn hoofdgebruiker):

#Install dependenciesbrew update brew install boost eigen opencv cgal ceres-solver main_path=`pwd` #VCGLib (Vereist) git clone https://github.com/cdcseacave/VCG.git vcglib #De OpenMVS-bronnen ophalen: git clone https:/ /github.com/cdcseacave/openMVS.git #Build OpenMVS mkdir openMVS_build && cd openMVS_build cmake…/openMVS -DCMAKE_BUILD_TYPE=Release -DVCG_ROOT="$main_path/vcglib" -G "Xcode"

xcodebuild -configuratie Release

Stap 3: Maak een fotogrammetriescript

Ik heb toen een script gemaakt op basis van dat van hier:

Dit is waar ik mee eindigde (let op de opmerkingen in het script, omdat je een aantal locaties moet instellen):

Photogrammetry.sh

# Deze parameters zijn specifiek voor de computer # Bewaar huidige map: currDir=$PWD

# haal mapnaam op als variabele

mijnmap=${PWD##*/}

# Stel de map colmap in (verander dit naar waar je colmap hebt gedownload, vervang 'dev' door versienummer indien nodig):

colDir=/Applicaties/COLMAP.app/Contents/MacOS/colmap

# Stel de openMVS-map in (verander dit in de 'bin/Release'-map waar u openMVS hebt gedownload en gebouwd)

oMVS=/Gebruikers/joecooning/Projecten/openMVS_build/bin/Release

# Stel werkmap in (ik maak een tijdelijke werkruimtemap aan in mijn 'Projecten'-map om gegevens in te verwerken)

workDir=/Users/joecooning/Projects/3dscans/workspace/$mijnmap/

mkdir $workDir

cp *-j.webp

$colDir feature_extractor --database_path database.db --image_path.

$colDir exhaustive_matcher --database_path database.db mkdir schaars $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.mvs $osh resolutie-niveau 1 model_dense_mesh.mvs $oMVS/TextureMesh --export-type obj -o $myfolder.obj model_dense_mesh_refine.mvs

mkdir $currDir/model/

cp *.obj $currDir/model/ cp *.mtl $currDir/model/ cp *Kd-j.webp

cd $currDir

Stap 4: Voer het script uit

Nu je het script hebt, kun je foto's maken van een object waarvan je een 3D-model wilt maken. Er zijn andere artikelen en video's die u goed advies kunnen geven over hoe u het beste foto's kunt maken voor fotogrammetrie (zoals deze: https://www.tested.com/art/makers/460142-art- foto…).

Maar die foto's in een map, de kopie van het script dat je hebt gemaakt in de map.

Ga vanuit je terminal naar de map waar de foto's en het script zich bevinden en voer het volgende uit:

sh Photogrammetry.sh

Het script doet dan de rest van het werk voor je. Houd er rekening mee dat dit nogal wat tijd kan kosten om te verwerken (vooral als je veel foto's met een hoge resolutie gebruikt). Ik zou aanraden om eerst wat kleinere fotosets te proberen. Enkele eenvoudige voorbeeldfotosets zijn hier te vinden: (https://www.regard3d.org/index.php/demo-models)

Aanbevolen: