lunedì 4 febbraio 2013

Foto 3D

Scripta Manent III

 

Pinguini per la testa

Proprio oggi, sfruttando un istante di sole invernale, gironzolavo per una montagna dalle mie parti, sforzandomi di dedicare la giornata a pensieri cauti ed evasivi, in cui i pinguini non erano annoverati.

Così come la bettola non è il miglior posto ove l'Alcolista Anonimo possa disintossicarsi, passeggiare tra la neve non è una attività che tende a farti dimenticare i pinguini, specie quando il panorama è molto bello e ti chiedi come portarne un pezzettino a casa (di panorama, non di pinguino).

Ed è lì che ti rendi conto che le foto sono così piatte e poco aiutano a rappresentare quello spettacolo, quindi è inevitabile che una mente ormai deviata inizi a vagare, pensando al fatto che il suo PC ha un monitor 3D, che ha un software per vedere le foto 3D e da lì all'idea, il passo è breve e mentre tutto questo accade, il passo rischia anche di scivolare.

Ma bando alle ciance torniamo sul pezzo e non prima di ossessionarvi con un po` di cultura informatica.

PNM

Perhapsnoteveryoneknowsthat ,  i sistemi come Linux hanno un formato jolly molto particolare chiamato netpbm di cui esistono varie estensioni, uno per formato.

La più simpatica è il portable anymap format che è un formato studiato appositamente per essere semplice e comodo , cioè un formato che non ti obbliga a strane manipolazioni e scorrimenti di bit o formati binari alieni (ogni riferimento alle .bmp è puramente casuale).

Lascio a voi la gioia di capirne la semplicità e la completezza formale.

Ciò che è importante comprendere è che per questa sua questa versatilità di solito non lo si usa per memorizzare le immagini (cosa che poco si adatta ad un formato lossless non compresso) ma per ogni genere di manipolazione, con pipes e programmi vari.

E su Linux c'è tutta una serie di programmini di cui vanno pazzi quelli che scrivono (o scrivevano) le CGI e che in Debian per esempio possiamo trovare nel pacchetto netpbm (i programmini, non quelli che li usano).

 

Scattare foto 3D!

Beh scattare foto 3D non è complicato. Si trova un piano oppure se si va in montagna come me si evita di bere grappa e si prova a mantenere il polso fermo, poi si scatta una foto col cellulare e si fa scorrere orizzontalmente, di 3 o 4 centimetri da destra a sinistra, scattando una seconda fotografia, così  :



Come si può facilmente intuire dal disegno che compongono le due freccette gialle la foto risulterà in questo modo incrociata. I più intuitivi avranno anche capito che se fate il contrario e invertite le foto il risultato sarà lo stesso.

In un modo o nell'altro si otterranno due foto la prima delle quali è il punto di vista dell'occhio destro e la seconda di quello sinistro.

 

Lo scriptino finale

I capitoli della serie Scripta Manent, non sono ovviamente scripts completi ma piuttosto cenni su cosa si può fare con Linux, spesso sono solo righe, giusto per capirci.

Ed è quindi seguendo questo spirito avventuriero che dopo aver scaricato le foto, possiamo applicare questo script che ho chiamato sbs3d :

#!/bin/bash
tmpfile=`mktemp`
jpegtopnm $1 >$tmpfile
jpegtopnm $2 | pnmcat -lr $tmpfile - | pnmtojpeg --quality=85 >$3
rm $tmpfile

Scrivendolo, rendendolo eseguibile (chmod 755), magari copiandolo in /usr/local/bin e quindi invocandolo in questo modo :

sbs3d <first> <second> <output>

che nel mio caso diventa :

sbs3d IMG_20130203_131945.jpg IMG_20130203_131949.jpg lamiafoto3d.jpg


Lo script, crea un file temporaneo, ci salva la prima immagine convertita in pnm, poi con una sola riga di codice e una serie di pipes, passa la seconda immagine, ci fa il cat lr cioè left-right e riconverte in jpg con qualità 85 (che è abbastanza alta), passando infine il risultato nel terzo nome file indicato, poi si cancella il file temporaneo.

Lo Stereogramma

Se siete stati abbastanza bravi da non aver confuso o sovrapposto le foto, e di non aver cancellato importantissimi lavori su cui potrete piangere per i prossimi vent'anni, dovreste trovarvi le stesse foto di prima, più un file chiamato lamiafoto3d.jpg tipo questo :


A questo punto avete creato una SBS-Cross-Eye-3D-Photo e cioè uno stereogramma, così se incrociate gli occhi fissandolo dovreste vedere apparire al centro la foto 3D.

Con gli occhi dritti

Il formato SBS spesso ridotto ad HSBS (cosa che si ottiene scalando orizzontalmente la foto al 50%), è un formato molto noto e usato spesso anche per i film 3D.

Se ne deduce che se volete vedere la foto con gli occhi dritti, dovete procurarvi un monitor 3D con relativo software.

Se proprio non volete, potete cercare da qualche parte se avete in giro un paio di occhiali anaglifici e provare con le diverse centinaia di programmi che li gestiscono anche sui monitor normali, compresa la versione ora GIT di VLC.

Ossequi.

Nessun commento:

Posta un commento