Sommario:

Fotogrammetria gratuita su Mac OS: dalle foto ai modelli 3D: 5 passaggi
Fotogrammetria gratuita su Mac OS: dalle foto ai modelli 3D: 5 passaggi

Video: Fotogrammetria gratuita su Mac OS: dalle foto ai modelli 3D: 5 passaggi

Video: Fotogrammetria gratuita su Mac OS: dalle foto ai modelli 3D: 5 passaggi
Video: Fotogrammetria da un video - Estrai i fotogrammi e genera un modello 3D 2024, Novembre
Anonim
Fotogrammetria gratuita su Mac OS: dalle foto ai modelli 3D
Fotogrammetria gratuita su Mac OS: dalle foto ai modelli 3D

La fotogrammetria è l'uso di immagini/fotografie per misurare le distanze tra gli oggetti (grazie Webster). Ma per scopi moderni, viene spesso utilizzato per creare un modello 3D di qualcosa dal mondo reale senza bisogno di uno scanner 3D.

C'è un sacco di software là fuori che puoi usare per la fotogrammetria, incluse alcune fantastiche opzioni gratuite, ma ho notato che molti (come Meshroom) non avevano build per Mac disponibili. Oppure richiederebbero una scheda grafica con supporto CUDA (non tipico di cose come un Macbook). Quindi questo significava scavare un po' in giro.

Alla fine mi sono imbattuto in questo eccellente articolo:

Questo ha portato a uno script di build di follow-up:

Mi ci è voluto un po' di tempo per farlo funzionare, ma una volta che l'ho fatto funzionare, sono stato abbastanza soddisfatto dei risultati che ho iniziato a ottenere. Quindi, analizzerò un po' di più i passaggi, specialmente per voi utenti Mac là fuori.

Passaggio 1: Ottieni COLMAP

COLMAP (https://colmap.github.io/install.html) è un piccolo strumento gratuito per iniziare con la fotogrammetria. L'ho provato da solo all'inizio, ma alcuni dei passaggi successivi hanno richiesto CUDA. Quindi ho dovuto ricominciare a cercare. Ecco perché utilizzeremo altri software per i passaggi successivi.

Scaricare COLMAP è facile. Puoi seguire le istruzioni qui:

Oppure puoi guardare l'ultima versione sulla loro pagina github: https://github.com/colmap/colmap/releases e scaricare l'ultima versione di COLMAP-dev-mac-no-cuda.zip

Una volta scaricato lo zip, decomprimilo e inserisci l'app COLMAP nella cartella Applicazioni.

Passaggio 2: ottieni e crea OpenMVS

Il prossimo programma che utilizzo per completare la creazione dei modelli 3D è OpenMVS (https://cdcseacave.github.io/openMVS/). Dovrai costruirlo sulla tua macchina, quindi cercherò di renderlo il più indolore possibile.

Il collegamento alle istruzioni per ottenere e creare OpenMVS su un Mac è qui:

ma ho dovuto modificare leggermente. Ecco cosa ho fatto:

  • Scarica Xcode dall'App Store

    Apri Xcode e accetta la licenza

  • Installa Homebrew se non lo hai già:
  • Installa GIT:
  • Installa CMake:
  • Apri un terminale ed esegui il seguente script. Assicurati di farlo da qualche parte dove vuoi che openMVS viva (ho una cartella "Progetti" sotto il mio utente principale):

#Installa le dipendenzebrew update brew install boost eigen opencv cgal ceres-solver main_path=`pwd` #VCGLib (Obbligatorio) git clone https://github.com/cdcseacave/VCG.git vcglib #Ottenimento dei sorgenti OpenMVS: git clone https:/ /github.com/cdcseacave/openMVS.git #Build OpenMVS mkdir openMVS_build && cd openMVS_build cmake…/openMVS -DCMAKE_BUILD_TYPE=Rilascio -DVCG_ROOT="$percorso_principale/vcglib" -G "Xcode"

xcodebuild -configuration Release

Passaggio 3: creare uno script di fotogrammetria

Ho quindi creato uno script basato su quello da qui:

Ecco cosa ho ottenuto (presta attenzione alle note nello script, poiché richiede di impostare alcune posizioni):

Fotogrammetria.sh

# Questi parametri sono specifici del computer # Memorizza la directory corrente: currDir=$PWD

# ottieni il nome della cartella come variabile

miacartella=${PWD##*/}

# Imposta la directory colmap (modificala nella posizione in cui hai scaricato colmap, sostituisci 'dev' con il numero di versione se necessario):

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

# Imposta la directory openMVS (cambia questa nella cartella 'bin/Release' dove hai scaricato e creato openMVS)

oMVS=/Utenti/joecooning/Projects/openMVS_build/bin/Release

# Imposta directory di lavoro (creo una cartella dell'area di lavoro temporanea nella directory "Progetti" in cui elaborare i dati)

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

mkdir $workDir

cp *-j.webp

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

$colDir complete_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.mvs $oMVS/RefineMesh livello di risoluzione 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

Passaggio 4: eseguire lo script

Ora che hai lo script, puoi scattare foto di un oggetto di cui vuoi creare un modello 3D. Ci sono altri articoli e video là fuori che possono darti ottimi consigli su come scattare foto al meglio ai fini della fotogrammetria (come questo: https://www.tested.com/art/makers/460142-art- foto…).

Ma quelle foto in una cartella, copiano lo script che hai creato nella cartella.

Dal tuo terminale, vai alla cartella in cui si trovano le foto e lo script ed esegui:

sh Fotogrammetria.sh

Lo script farà quindi il resto del lavoro per te. Tieni presente che l'elaborazione può richiedere un po' di tempo (soprattutto se utilizzi molte foto ad alta risoluzione). Suggerirei di provare prima alcuni set fotografici più piccoli. Alcuni semplici set fotografici di esempio possono essere trovati qui: (https://www.regard3d.org/index.php/demo-models)

Consigliato: