In
questa puntata, pubblichiamo un tutorial operativo, creato per noi da
Cicero Moraes, che ci illustra come utilizzare l'interfaccia PPT
Python Photogrammetry Toolbox, di Luca e Alessandro Bezzi, su
piattaforma Linux ArcheOS, e software “osm-bundler” di Pierre
Moulon.
Tutorial Python
Photogrammetry Toolbox
di Cicero Moraes
Prima di tutto è
necessario effettuare il download del Python Photogrammetry Toolbox da qui: http://www.arc-team.homelinux.com/arcteam/ppt.php
Dopo il download e unzip dovete modificare il file ppt_gui_start ,
inserendo il corretto percorso del programma (evidenziato in
arancione).
Ora, se siete sotto Linux è solo necessario eseguire lo script
appena modificato:
$
./ppt_gui_start
Una
volta che il programma è partito, cliccate su “Check Camera
Database”.
Con il
Terminale Terminal/Prompt al lato, cliccate su “Select Photos
Path”.
Scegliete il percorso e poi cliccate su “Open”.
Cliccate su “Run”
ed aspettate un poco.
Se tutto è OK, vedrete un messaggio sul Terminale:
Camera is already inserted into the database
Altrimenti, potete seguire questo videotutorial:
Adesso,
fate una copia del percorso.
1) Andate su “Run Bundler”.
2)
Incollate su “Select Photos Path”.
1) Per ottenere una buona qualità di scansione, cliccate su “Scale
Photos with a Scaling Factor”; per default il valore sarà
impostato a 1. Se avete un computer con minore potenza di
processamento, non eseguite questo punto (1), e andate direttamente
al punto seguente (2).
2)
Cliccate su “Run”.
Aspettate alcuni minuti, ed il programma risolverà la nuvola di
punti.
Voi saprete che la soluzione è pronta quando nel Terminale sarà
apparso il messaggio:
Finished! See the results in the '/tmp/DIRECTORY' directory
In questo caso il messaggio è stato:
Finished! See the results in the '/tmp/osm-bundler-ibBZV9' directory
Il file manager Nautilus sarà aperto, mostrando la directory con i
file.
NOTA.: Se siete realmente curiosi, potete aprire la directory
Bundle e vedere i file .PLY con Meshlab. Ma è meglio aspettare,
perchè queste nuvole di punti non sono ancora buone ad ottenere una
efficace ricostruzione/conversione in una superficie mesh.
Andate sul Terminale, dove è apparso il percorso con la soluzione, e
fate una copia di questo.
1) Andate sul “or run PMVS without CMVS”
2)
Cliccate in “Use directly PMVS2 (without CMVS)”
1) Incollate il percorso in “Select Bundler Output Path”
2)
Cliccate su “Run
Quando il processo sarà terminato, vedrete una nuova directory
chiamata “pmvs”.
Ora, dovrete entrare in “models” e cercare un file chiamato
“pmvs_options.txt.ply”. Se tutto è andato bene, siamo nella fase
finale della soluzione.
NOTA:
E' una buona idea fare una copia della directory osm-* mettendola
sotto la vostra home, perchè essa verrà persa al prossimo boot
della macchina, dato che si tratta di una directory /tmp .
Quando
aprirete il file “pmvs_options.txt.ply” in Meshlab vedrete che
la nuvola di punti è realmente densa, ora, con una qualità
paragonabile ad una foto.
Solo apparenza di una foto o di una superficie mesh... notate che è
selezionata attualmente la modalità vista per “Points”.
Se andate a selezionare “Flat Lines” ad esempio, le nuvole di
punti scompariranno... perchè, ovviamente... si tratta di una nuvola
di punti.
Cliccate ancora su “Points” per vedere le nuvole di punti e:
1)
Cliccate su “Show Layer Dialog” (A)
2) Così, apparirà un nuovo elemento nell'interfaccia con il nome
dell'oggetto, in questo caso “pmvs_options.txt.ply” (B)
Andate su “Filters” -> “Remeshing, simplification and
reconstruction” -> “Surface Reconstruction: Poisson”
Apparirà una nuova finestra con i valori di default di “Octree
Depth” e “Solver Divide”
1) Cambiate i valori su:
Octree Depth: 11
Solver Divide: 9
2) Cliccate su “Apply”
NOTA:
Questi valori possono provocare un crash del programma se il vostro
computer non ha sufficiente potenza di elaborazione.
Se tutto OK, noterete le seguenti due cose:
1) Molti nuovi punti saranno stati scritti sopra la ricostruzione.
2) Un
nuovo layer chiamato “1 Poisson mesh *”, in alto a destra.
Ma, quando torniamo su “Flat Line” per vedere la superficie mesh,
compariranno strani elementi. In questo caso, l'algoritmo Poison ha
creato una specie di sfera per ricostruire la mesh.
Possiamo
vedere meglio questa sfera quando ci allontaniamo in orbita intorno
al modello.
Così, per rendere visibile la porta, noi dobbiamo:
1) Tornare sulla vista “Points” (A)
2) Ruotare la scena per vedere il lato della porta.
3)
Cliccare su “Select faces in a rectangular region”
E poi:
1) Creare una finestra di selezione sulla regione che deve essere
cancellata (1A-2A)
2) Cliccare su “Delete the current set of selected faces”.
Ora noi possiamo vedere la superficie mesh nel lato corretto.
Ma, quando cambiamo il tipo di vista su “Smooth”, noi vediamo la
mesh senza i colori della nuvola di punti.
Per dipingere la mesh con i colori della nuvola di punti, possiamo
andare su:
Filters
-> Sampling -> Vertex Attribute Transfer
Apparirà un nuovo pannello.
Voi dovrete invertire gli oggetti, perchè il “pmvs_options.txt.ply”
è la reale mesh sorgente, che sarà la base da dipingere, e la
“Poisson mesh” riceverà i colori, sicchè questa è la mesh di
destinazione.
Quando cliccherete su “Apply” vedrete immediatamente la mesh
colorata, come nell'immagine qui sopra.
Se volete inviare questa mesh ad altri software, come Blender, potete
andare su:
File
-> Export Mesh As...
Scegliete un posto dove salvare il file .PLY .
Se tutto OK, la mesh potrà essere importata in Blender (o altro
software) perfettamente.
I hope it has useful to you.
Cicero
Moraes
Cícero
Moraes is a 3D self-taught artist and animator. He learned his
profession on the internet and is one of the great enthusiasts of
Blender in the country. He has written dozens or on-line and printed
articles, read in Brazil and the world.
Winner
of the TVCA Advertising and Video Award in 2006, he was among the
finalists of the Cannes Young Lions contest, promoted by YouTube in
2009. He has spoken in a number of informatics events, such as
Latinoware (2009 and 2010), XXI Semac (SP), SolivreX (PR), Filsol
(GO), II Ermac (MT) e a BlenderPRO (MG e CE).
More
information on site: www.ciceromoraes.com.br
Ringraziamo Cicero per la collaborazione e per il tutorial.
BobMaX