Inhoudsopgave:
- Stap 1: Download COLMAP
- Stap 2: Verkrijg en bouw OpenMVS
- Stap 3: Maak een fotogrammetriescript
- Stap 4: Voer het script uit
Video: Gratis fotogrammetrie op Mac OS: van foto's naar 3D-modellen: 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
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:
Upgrade de achtergrondverlichting van een VU-meter naar blauwe led met behulp van oude CFL-lamponderdelen: 3 stappen
Upgrade een VU-meterachtergrondverlichting naar blauwe led met behulp van oude CFL-lamponderdelen.: Tijdens het repareren van een oude Sony TC630 reel-to-reel bandrecorder, merkte ik dat een van de glazen bollen voor de achtergrondverlichting van de VU-meter kapot was. Geen hoeveelheid geleidende verf werkte omdat het lood onder het glasoppervlak was afgebroken. De enige vervanger die ik
Games uploaden naar Arduboy en 500 games naar Flash-cart: 8 stappen
Spellen uploaden naar Arduboy en 500 spellen naar Flash-cart: Ik heb een zelfgemaakte Arduboy gemaakt met serieel Flash-geheugen dat maximaal 500 spellen kan opslaan om onderweg te spelen. Ik hoop te delen hoe je games kunt laden, inclusief hoe je games opslaat in het seriële flash-geheugen en je eigen geconsolideerde gamepakket kunt maken
Flash AT Command Firmware naar ESP01-module (vereist een USB-naar-TTL-adapter): 5 stappen
Flash AT Command Firmware naar ESP01-module (vereist een USB-naar-TTL-adapter): door Jay Amiel AjocGensan PHfacebook.com/geeamealyoutube.com/jayamielajoc
12v naar USB-adapter 12v naar 5v transformator (ideaal voor auto's): 6 stappen
12v naar USB-adapter 12v naar 5v-transformator (ideaal voor auto's): hier wordt uitgelegd hoe u een 12v-naar-USB (5v)-adapter maakt. Het meest voor de hand liggende gebruik hiervan is voor 12v-autoadapters, maar overal waar je 12v hebt, kun je het gebruiken! Als je 5v nodig hebt voor iets anders dan USB, sla dan gewoon de stappen over het toevoegen van de USB-poorten over
Video's van internet naar uw iPod krijgen, snel, eenvoudig en GRATIS!: 5 stappen
Video's van internet naar uw iPod krijgen, snel, eenvoudig en GRATIS!: Soms zie je een video op YouTube en wil je die op je iPod. Dat deed ik, en ik kon er niet achter komen, maar toen deed ik het, dus besloot ik het met internet te delen. Deze handleiding is alleen van toepassing op YouTube als je dezelfde downloadsoftware gebruikt