Gerablog è il neonato blog di Simone Gerardiello, nel quale sono apparsi già alcuni interessantissimi articoli di fotografia, elaborazione grafica e post-produzione con Photoshop (ma non solo). Lo stile è proprio il mio preferito, appassionato e meticoloso: proprio l’ideale per farsi venire voglia di provarci per conto proprio ma anche l’ideale per riuscirci, dal momento che le spiegazioni sono molto dettagliate. Ecco cosa troverete nel Gerablog:
Piccola modifica/miglioria al motore di ricerca per le immagini di Google: ora è possibile Mostrare solo le Immagini molto grandi, oltre che grandi, medie e piccole. Segno dei tempi, la risoluzione delle fotocamere digitali aumenta, lo spazio di storage cosa sempre meno e Google si adegua ed offre un quarto livello di grandezza.
Cosa è ImageMagick? ImageMagick è una suite di programmi freeware per la modifica di immagini da riga di comando. Esiste per Linux, Mac OS X e Windows e, per ora, ho usato (con soddisfazione) solo la versione per Windows. Esiste anche per PHP, per manipolare le immagini tramite uno script web. Permette di leggere e scrivere circa un centinaio di formati grafici, ma la vera potenza di ImageMagick si esplica nella ripetizione di operazioni di manipolazione grafica (come illustrò nel seguito).
In Windows, in pratica, una volta installato il pacchetto (installazione molto semplice, in pochi click), è sufficiente andare nella cosiddetta “finestra del DOS” (ovvero Start>Esegui e scrivere “cmd”) e posizionarsi nella cartella in cui sono presenti le immagini da modificare. A questo punto è possibile scegliere uno dei programmi della suite elencati in questa pagina. Per fare una prova del funzionamento del pacchetto basta eseguire (da qualsiasi posizione) questi tre comandi in sequenza:
Il funzionamento che voglio illustrare è quello del potente comando convert. Ad esempio
convert rose.jpg rose.png
converte il file rose.jpg dal formato JPG al PNG e lo salva col nome rose.png. Invece il comando
convert rose.jpg -resize 50% rose.png
fa la stessa conversione riducendone però le dimensioni del 50%. Possono quindi essere eseguite più operazioni uno dopo l’altro ottenendo risultati particolarmente elaborati. Un bell’esempio è questo
Cropping & chopping
A questo punto mettiamo il caso che abbiamo scansionato, dopo aver chiesto ed ottenuto l’autorizzazione da parte dell’editore, una parte di un libro per creare un PDF (ovviamente questa tecnica si applica a molti altri casi). Come spesso accade, le pagine affiancate del libro vengono contornate da un bordo nero (o anche grigio) e una linea centrale grigia che deriva dall’ombra creatasi nella congiunzione fra le due pagine. Ovviamente queste parti dell’immagine non ci servono e sprecano inutilmente solo KByte preziosi (ed eventualmente altrettanto prezioso toner o inchiostro della stampante). La soluzione è manipolare a mano tutte le immagini ed eliminare tali bordi inutili? Ovviamente no, grazie a ImageMagick.
Ecco come potrebbe apparire una delle pagine scansionate
Crop
La prima operazione che dobbiamo effettuare è un ritaglio (crop) dell’immagine. E’ necessario specificare il punto di partenza della zona da ritagliare (ovvero le coordinate dell’angolo in alto a sinistra) e la grandezza di tale area. La sintassi del comando, -crop widthxheight{+-}x{+-}y{%}, necessita quindi dei dati ottenibili da questa immagine (ricordo che l’origine degli assi è l’angolo in alto a sinistra):
dove il punto rosso ha coordinate 700,80 e l’area rossa è 2600×1800 (tutto espresso in pixel). Per ritagliare un immagine, ad esempio chiamata p42.png, sarà necessario il comando:
convert p42.png -crop 2600×1800+700+80 cp42.png
Se avessimo un numero elevato di immagini da ritagliare, sarebbe necessario eseguire questa operazione in automatico con le stesse coordinate (se le scansioni sono state fatte con precisione). In questo caso il linguaggio è il batch e la sintassi, applicata all’esempio precedente, è la seguente:
for %V in (p*.png) do convert %V -crop 2600×1800+700+80 c%V
dove %V assumerà di volta in volta il valore del nome delle immagini png che iniziano per p. Le immagini ritagliate avranno lo stesso nome dell’originale più l’iniziale c.
Chop
Il chop è un comando davvero utilissimo (che, se non sbaglio, non esiste nemmeno in Photoshop) perché permette di rimuovere una intera striscia dall’interno di un’immagine. Nell’esempio trattato, è utile per rimuovere l’ombra grigia di separazione tra le due pagine. Le due pagine verranno poi automaticamente avvicinate per rimuovere il gap formatosi. La sintassi del comando, -chop widthxheight{+-}x{+-}y{%}, è praticamente identica a quella precedente ma necessita di una precisazione. A causa del valore del parametro gravity, il sistema di coordinate può essere diverso dal precedente e è stato effettivamente così, nell’installazione che ho effettuato su Windows. In definitiva, i valori che ci serviranno per effettuare il chopping si possono ricavare dalla scansione come segue:
ovviamente si può utilizzare anche una immagine già ritagliata per effettuare le misurazioni. Presa quindi una immagine già ritagliata (con il metodo precedentemente illustrato), ecco cosa bisogna scrivere per eliminare la lunga striscia in rosso
Gnuplot è una delle applicazioni per realizzare grafici scientifici (e non) più usate. Necessita di Aquaterm per funzionare su Mac OS X ed è possibile installarlo utilizzando Fink. Per lanciarlo basta aprire il Terminale e digitare gnuplot ma può succedere che, di punto in bianco, venga restituito questo messaggio di errore:
dyld: Library not loaded: /usr/local/lib/libaquaterm.1.0.0.dylib
Referenced from: /usr/local/bin/gnuplot
Reason: image not found
Trace/BPT trap
Probabilmente un aggiornamento da libaquaterm.1.0.0.dylib a libaquaterm.1.0.1.dylib ha cancellato la versione precedente senza che gnuplot ne sia venuto a conoscenza.
Una soluzione può essere semplicemente quella di digitare direttamente /sw/bin/gnuplot nel Terminale o di creare un link a questo percorso, ma è sicuramente un kludge perché si tratta una soluzione “sporca e veloce”, che non risolve il fulcro del problema.
La soluzione migliore che ho trovato è, invece, quella di posizionarsi su /usr/local/lib/, digitando da Terminale cd /usr/local/lib/ e dare il seguente comando:
sudo è necessario perché non è normalmente permesso scrivere in una cartella di sistema e questo comando permette di acquisire momentaneamente poteri di amministratore, digitando ovviamente la vostra password. Il comando ln -s permette di creare un link simbolico alla nuova versione della libreria aquaterm, permettendo così a Gnuplot di trovarla e di funzionare regolarmente.
A questo punto, sia come conseguenza di una installazione incompleta, sia talvolta come conseguenza della precedente soluzione, Gnuplot può non riuscire più a caricare di default il terminale grafico aqua, restituendo, appena entrati il seguente messaggio: Terminal type set to ‘unknown’. Anche in questo caso esiste una soluzione veloce ma noiosa, ovvero digitare, ogni volta che entriamo in Gnuplot il comando set terminal aqua. Altrimenti una definitiva soluzione è settare una variabile di sistema per il vostro profile utente. La procedura è la seguente:
Da Terminale accertatevi dell’esistenza del file .bash_profile (si tratta quindi in un file nascosto) nella vostra home. Per fare questo digitate cd /Users/< nomeutente > e poi ls -a. Se già esiste bisogna aprirlo e modificarlo, altrimenti è necessario crearlo. Nel primo caso possiamo usare un editor di testo nel Terminale, ovvero emacs digitando emacs .bash_profile; una volta visto il contenuto del file possiamo aggiungere la riga export GNUTERM=aqua , uscire e salvare (premendo Ctrl+x, Ctrl+c e poi rispondendo y alla domanda di salvataggio). In alternativa possiamo rinominare il file .bash_profile scrivendo mv .bash_profile bash_profile.txt, modificarlo su TextEdit e poi ripristinare il nome orginale con mv bash_profile.txt .bash_profile (questo perché TextEdit non può aprire direttamente un file nascosto (ovvero il cui nome che inizia con un punto).
Se invece il file .bash_profile non esiste (come è successo a me), la strada più semplice è aprire TextEdit e, una volta aperto un nuovo documento, cliccare sul menu Formato>Converti in formato Solo Testo. A questo punto scrivete export GNUTERM=aqua e salvate il file nella home del vostro utente. Il nome deve essere .bash_profile e dovete togliere il segno di spunta da “Se non è indicata nessuna estensione…”.
Ora, se necessario, chiudete e riaprite Terminale, digitate Gnuplot ed ora, oltre ad aprirsi senza intoppi avrete il terminale grafico aqua correttamente impostato e pronto all’uso.
rsizr (che sta per resizer, ridimensionatore) è una applicazione in Flash, e quindi usabile da qualsiasi computer, che permette di usare con estrema semplicità il ridimensionamento intelligente (retargeting) di cui ho parlato tempo fa in questo articolo. Questa web application per mette di ridimensionare immagini JPG, PNG e GIF residenti sul proprio computer (e che dovranno essere caricate sul sito). Oltre alla normale riscalatura o ritaglio dei normali software di grafica, con rsizr si può ridimensionare una immagine tramite l’algoritmo di Shai Avidan e Ariel Shamir chiamato seam carving che duplica o elimina elementi dall’immagine le parti con poco contenuto di informazione. Questo permette ad esempio di allungare (o restringere) un’immagine senza deformarla, oppure eliminando elementi dall’immagine senza ricorrere a complicati strumenti di fotoritocco:
Dall’ottimo PSDTuts [via gpessia] ecco un bel tutorial Photoshop per generare bottoni di quelli che si attaccano ai vestiti con la spilla da balia sul retro. Il tutorial descrive (in inglese) passo passo la tecnica adottata e mostra degli screenshot guida. Ecco una gif animata che mostra tutti i passaggi necessari, che ho ottenuto a partire dalle immagini del tutorial:
In fondo al tutorial potete scaricare anche il PSD di esempio.
Un astrofilo della Florida ha realizzato (e postato qui) una bellissima immagine che vedete qui in alto. Si tratta di un mosaico di 15 fotografie della Luna, ognuna di 8.2 megapixel e tutte scattate con 1/5 di secondi di esposizione e ISO 100. E’ stata usata una Canon EOS-20D montata su un telescopio Schmidt-Cassegrain della Meade modello LX200 GPS UHTC 10″ grazie ad un moltiplicatore di focale (2x Televue Powermate). La lunghezza focale totale era di quindi 5000mm con f/20. Ha quindi trasferito i file in formato Raw in Photoshop CS2 usato per allineare, a mano, gli scatti. L’immagine finale è stata poi ottenuta aumentando la saturazione dei colori (quindi facendo risaltare per l’occhio umano dei colori realmente esistenti) ed ha aggiunto uno sfondo stellato per abbellire l’immagine. [fonte]
L’idea, molto bella e molto ben realizzata, non è però originale, come si può vedere da questa Astronomy Picture of the Day pubblicata dalla NASA il 16 febbraio 2006 e realizzata da Johannes Schedler, del Panther Observatory (anche se il risultato è meno gradevole e meno definito).
Oggi il buon Albo ha pubblicato 4 divertenti wallpaper disegnati per l’iPod Touch (ma adatti anche per l’iPhone). Come potete vedere mentre scorrono rimpiccioliti qui sopra, si tratta di rivisitazioni in chiave MoStrip delle classiche pubblicità silhouette su sfondo colorato che Apple utilizza da anni per pubblicizzare gli iPod. I personaggi utilizzati sono Duke, Alice, Vanessa (inconfondibile grazie al cavo attorcigliato che esemplifica la tecnologia che le si rivolta contro) e Waark (con, sotto, Ed momentaneamente libero). Non conoscete i personaggi? Guardate qua!
Il prossimo Mercoledì 26 Settembre si terrà a Roma una dimostrazione gratuita di Creative Suite 3, l’ultima versione del pacchetto di applicazioni Adobe che comprende Photoshop. Questo workshop, organizzato da Computime, si svolgerà all’Hotel Villa Morgagni in Via Morgagni, 25 a Roma e si farà uso di un Mac Pro. L’orario è 9:30 / 13.00 con coffee break alle 11.30. Per partecipare è richiesta la registrazione scrivendo a info@computime.it. Io ci sarò, e voi?
Il buon Antonio ha parlato recentemente dell’interessante tecnica grafica del retargeting, grazie alla quale si può ridimensionare un’immagine scartando automaticamente solo quelle parti che non contengono informazioni rilevanti. Detto così non rende bene l’idea, ecco quindi un video esemplificativo (qui la versione ad alta qualità):
Nell’articolo di Antonio si dice che “Intanto, qualcuno ha anche pensato di farne una implementazione in Python: basterà poco che magari potremmo ritrovarcelo anche su Gimp.” E infatti, pochi giorni sono bastati affiché questo venisse fatto e che il buon Felipe ci mostrasse i primi risultati.
Questa tecnologia permette quindi di eliminare da un’immagine parti non gradite o di ridurre l’ingombro di parti poco interessanti, grazie ad un algoritmo illustrato in un articolo di Shai Avidan e Ariel Shamir “Seam Carving for Content-Aware Image Resizing” ACM Transactions on Graphics, Volume 26, Number 3, SIGGRAPH 2007 (qui il PDF, e già che ci siete fate un salto sul sito varipinto di Ariel Shamir). Nell’articolo, oltre ai fondamenti teorici e agli esempi visibili anche nel video, vengono discussi i limiti di questa tecnica, come la necessità di includere un face detector nel software per evitare il riconoscimento anomalo dei volti.
Un segno dei tempi che la ricerca scientifica, applicata all’informatica e alla grafica, debba riconoscere l’utilità di Flickr da cui sono tratte molte delle immagini utilizzate, tutte con licenza Creative Commons.