012 ImageMagick® – Script per effetto polaroid

19 Novembre, 2011 (18:13) | Linux | By: sargonsei

012 ImageMagick® – Script per effetto polaroid.

Spesso conserviamo le nostre foto digitali ad alta risoluzione, perché maggiore è la risoluzione, maggiore è la qualità dell’immagine in fase di stampa. Se però vogliamo mettere su qualche pagina web, maggiore è la risoluzione, maggiore è il tempo di upload e di download, per non parlare del tempo necessario per aprire una pagina web contenente una o più foto ad alta risoluzione!
Inoltre le immagini che noi mettiamo sui vari siti, sono spesso scaricabili anche da sconosciuti, ai quali non si vede perché dovremmo regalare delle nostre immagini ad alta risoluzione.
In pratica, se non esiste un motivo per comportarsi diversamente, è consigliabile conservare sul nostro PC immagini ad alta risoluzione, e diffondere su internet solo immagini a bassa risoluzione.
Queste ultime, verranno ricavate dalle immagini ad alta risoluzione tramite appositi programmi.

In questo intervento, spiego come modificare la risoluzione di una grande quantità di immagini in breve tempo, applicando anche qualche “effetto speciale” tipo EFFETTO DIAPOSITIVA o EFFETTO POLAROID.

Come S.O. ho usato Linux Ubuntu 10.10. Come convertitore, ho usato uno script bash che prevede che il pacchetto  “Image Magick” sia installato.

  1. Copiamo in una cartella vuota tutte le immagini delle quali vogliamo modificare la risoluzione.
  2. All’interno di quella stessa cartella, creiamo e rendiamo eseguibile il file
    RidimDiapoPolaroidTutte.sh
    con questo contenuto: 

    #!/bin/bash
    export estensione=”jpg”
    # Rispettare maiuscole e minuscole. JPG non è jpg
    # Questo script funziona solo se il pacchetto “Image Magick” è installato.
    for FILE in `ls *.$estensione 2>/dev/null`
    do
    # 1) Ridimensionare l’immagine
    convert -resize 200×200 $FILE $FILE
    # 2) Metterle un bordo esterno tipo Diapositive
    convert -border 10×30 $FILE $FILE
    # 3) Creare l’effetto POLAROID
    convert -chop 0x20 $FILE $FILE
    done

    Questo script bash è stato ideato per funzionare con immagini aventi estensione .jpg; se si vuole usare per immagini aventi estensioni diverse, sostituire l’estensione messa fra virgolette nella seconda riga con l’estensione dei files da modificare.
    Ogni istruzione, è preceduta da una riga commentata che spiega cosa fa l’istruzione stessa. Per evitare che l’istruzione venga eseguita, basta cancellarla o farla precedere da un carattere #.
    L’istruzione che comincia con convert resize modifica la risoluzione dell’immagine secondo i parametri seguenti, ed è meglio che venga sempre eseguita.
    L’istruzione che comincia con convert border aggiunge all’immagine un bordo bianco largo 10 pixels ed alto 30 pixels. Questa è l’istruzione finale per dare alla foto un effetto DIAPOSITIVA, ed è un passaggio intermedio indispensabile per creare l’effetto POLAROID, quindi possiamo toglierla o commentarla solo se non ci interessa creare nessuno dei due effetti succitati.
    L’istruzione che comincia con convert chop toglie all’immagine una striscia superiore alta 20 pixels. Questa è l’istruzione finale per dare alla foto un effetto POLAROID, quindi possiamo toglierla o commentarla solo se non ci interessa creare questo effetto.

    3) Per avviare la conversione di tutte le immagini contenute nella cartella, avviare lo script.

    Lo script privato degli effetti diapositiva e polaroid, si limita a ridurre la risoluzione delle immagini, e le immagini si presentano così: Senza Effetti

    Lo script privato del solo effetto polaroid, produce l’effetto DIAPOSITIVA, e le immagini si presentano così:http://sargonsei.altervista.org/wp-content/uploads/2011/11/MaschioAngioinoDiapo-150x150.jpg

    Lo script completo produce l’effetto POLAROID, e le immagini si presentano così: Polaroid