Fotogrametrie gratuită pe Mac OS: de la fotografii la modele 3D: 5 pași
Fotogrametrie gratuită pe Mac OS: de la fotografii la modele 3D: 5 pași
Anonim
Fotogrametrie gratuită pe Mac OS: de la fotografii la modele 3D
Fotogrametrie gratuită pe Mac OS: de la fotografii la modele 3D

Fotogrametria este utilizarea de imagini / fotografie pentru a măsura distanțele dintre obiecte (mulțumesc Webster). Dar în scopuri moderne, este adesea folosit pentru a realiza un model 3D de ceva din lumea reală fără a avea nevoie de un scaner 3D.

Există o mulțime de software pe care îl puteți folosi pentru fotogrametrie, inclusiv câteva opțiuni gratuite excelente, dar am observat că multe (cum ar fi Meshroom) nu aveau versiuni de Mac disponibile. Sau ar avea nevoie de o placă grafică cu suport CUDA (nu tipic pentru lucruri precum un Macbook). Așa că asta însemna niște săpături.

În cele din urmă m-am împiedicat de acest excelent articol:

Acest lucru a condus la un script de compilare de urmărire:

Mi-a luat ceva timp să-l funcționez, dar odată ce am început, am fost destul de mulțumit de rezultatele pe care am început să le obțin. Deci, voi descompune puțin mai mult pașii, mai ales pentru voi utilizatorii de Mac.

Pasul 1: obțineți COLMAP

COLMAP (https://colmap.github.io/install.html) este un instrument gratuit frumos și mic pentru a începe cu fotogrametria. Am încercat-o singură la început, dar unele dintre etapele ulterioare au necesitat CUDA. Așa că a trebuit să încep să caut din nou. De aceea vom folosi alte programe software pentru pașii ulteriori.

Descărcarea COLMAP este ușoară. Puteți urma instrucțiunile aici:

Sau puteți consulta cea mai recentă versiune pe pagina lor github: https://github.com/colmap/colmap/releases și puteți descărca cea mai recentă COLMAP-dev-mac-no-cuda.zip

După ce descărcați fișierul zip, dezarhivați-l și lipiți aplicația COLMAP în folderul Aplicații.

Pasul 2: Obțineți și creați OpenMVS

Următorul program pe care îl folosesc pentru a finaliza construirea modelelor 3d este OpenMVS (https://cdcseacave.github.io/openMVS/). Va trebui să construiți acest lucru pe mașina dvs., așa că voi încerca să fac acest lucru cât mai nedureros posibil.

Link-ul către instrucțiunile pentru obținerea și construirea OpenMVS pe un Mac este aici:

dar a trebuit să modific ușor. Iată ce am făcut:

  • Descărcați Xcode din App Store

    Deschideți Xcode și acceptați licența

  • Instalați Homebrew dacă nu îl aveți deja:
  • Instalați GIT:
  • Instalați CMake:
  • Deschideți un terminal și executați următorul script. Asigurați-vă că o faceți de undeva unde doriți să trăiască openMVS (am un folder „Proiecte” sub utilizatorul meu principal):

#Install dependenciesbrew update brew install boost eigen opencv cgal ceres-solver main_path = `pwd` #VCGLib (Obligatoriu) git clone https://github.com/cdcseacave/VCG.git vcglib #Getting the OpenMVS sources: 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 -configuration Release

Pasul 3: Creați un script de fotogrametrie

Am creat apoi un script bazat pe cel de aici:

Iată cu ce am ajuns (acordați atenție notelor din script, deoarece vă cere să setați câteva locații):

Fotogrametrie.sh

# Acești parametri sunt specifici computerului # Stocați directorul curent: currDir = $ PWD

# obține numele folderului ca variabilă

dosarul meu = $ {PWD ## * /}

# Setați directorul colmap (schimbați acest lucru în locul în care ați descărcat colmap, înlocuiți „dev” cu numărul versiunii, dacă este necesar):

colDir = / Applications / COLMAP.app / Conținut / MacOS / colmap

# Setați directorul openMVS (schimbați-l în folderul „bin / Release” unde ați descărcat și construit openMVS)

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

# Setați directorul de lucru (creez un folder de spațiu de lucru temporar în directorul meu „Proiecte” pentru a prelucra datele)

workDir = / Users / 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_desh.mvs nivel de rezoluție 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

Pasul 4: Rulați Scriptul

Acum, că aveți scriptul, puteți face fotografii cu un obiect pe care doriți să faceți un model 3D. Există alte articole și videoclipuri care vă pot oferi câteva sfaturi excelente despre cum să faceți cel mai bine fotografii în scopul fotogrametriei (cum ar fi acesta: https://www.tested.com/art/makers/460142-art- fotografie…).

Dar acele fotografii într-un folder, copiați scriptul pe care l-ați făcut în dosar.

De la terminal, mergeți la folderul unde sunt fotografiile și scriptul și rulați:

sh Fotogrametrie.sh

Scriptul va face apoi restul muncii pentru dvs. Rețineți că procesarea poate dura destul de mult (mai ales dacă utilizați o mulțime de fotografii de înaltă rezoluție). Aș sugera mai întâi să încercați câteva seturi foto mai mici. Unele seturi de fotografii simple, exemplare, pot fi găsite aici: (https://www.regard3d.org/index.php/demo-models)

Recomandat: