![]() |
Pagina di aiuto per il plugin Liquid rescale |
Il plugin Liquid Rescale è un'implementazione dell'algoritmo "content-aware resizing by seam carving" ideato da Shai Avidan e Ariel Shamir. Il suo scopo è di ridimensionare non uniformemente le immagini pur mantenendo le caratteristiche più salienti dell'immagine, evitando possibilmente di distorcerle. Può anche essere utilizzato per rimuovere porzioni di immagine in modo "naturale". Funziona sia rimpicciolentdo che ingrandendo, ed è possibile specificare manualmente quali zone dell'immagine devono essere preservate e quali ignorate (o rimosse). Si veda anche Appendice: La tecnica del seam carving alla fine di questa pagina per un'introduzione ai concetti su cui si basa questa tecnica. Il plugin agisce sul livello (o sulla selezione fluttuante) correntemente attivo. Può anche essere applicato a più livelli di un immagine attraverso il plugin "Filtra tutti i livelli" o usando il GIMP Animation Package per l'editing video. Il plugin opera sempre su interi livelli; se una selezione è presente, è salvata come canale e rimossa. Se il livello ha una maschera per la trasparenza, viene mostrata un'opzione per stabilire se applicarla o rimuoverla prima di procedere. Il plugin può anche essere usato in modalità batch dalla linea di comando, si veda questa sezione per maggiori dettagli. Descrizione dell'interfaccia utente (modalità non-interattiva)
Selezionare le nuove dimensioni
In questa sezione è possibile impostare le dimensioni finali dell'immagine.
È consigliabile riscalare sempre una direzione alla volta. Nel caso in cui
si vogliano modificare entrambe le dimensioni contemporaneamente, il plugin
agisce prima nel senso della larghezza, e poi in altezza. Questo compurtamento
può essere modificato attrverso un'opzione nella linguetta "Avanzate".
I tre piccoli pulsanti sulla destra possono essere utilizzati per riportare
le dimensioni ai valori originali dell'immagine (sopra) o agli ultimi valori
usati (in mezzo), o per passare alla modalità interattiva (sotto - vedi la
sezione corrispondente per maggiori dettagli).
Nota che le dimensioni finali possono essere impostate automaticamente quando si rimuovono contenuti, vedi più sotto. Maschere per i contenutiGuida rapidaIl sistema più semplice per selezionare manualmente le zone dell'immagine che si vogliono proteggere/ignorare è il seguente:
Volendo eliminare porzioni di immagine, un metodo rapido per impostare le dimensioni finali è, dopo aver impostato una maschera per l'eliminazione, di cliccare su uno dei pulsanti a fianco dell'etichetta "Auto dimensionamento". (Questo metodo tuttavia funziona solo con maschere molto semplici). Nota #1: l'eliminazione di parti dell'immaagine è possibile solamente quando la si restringe. Per default, la maschera per la preservazione dei contenuti viene ignorata quando si allarga l'immagine, perché in quel caso le aree contrassegnate verrebbero gonfiate anziché rimosse. Se volete davvero ottenere questo effetto, dovete disattivare l'opzione corrispondente nella linguetta "Avanzate". Nota #2: la preservazione dei contenuti non è possibile se si cerca di ingrandire troppo l'immagine, poiché il processo di allargamento è l'inverso del processo di restringimento, quindi la massima quantità di pixel che è possibile aggiungere a un layer corrisponde al numero di pixel che non sono protetti. Per esempio, se avete un'immagine larga 1000 pixel e averte contrassegnato una porzione da preservare larga 800 pixel, la larghezza finale dovrebbe essere inferiore ai 1200 pixel. Per ingrandire di più, procedete in passi successivi, oppure impostate adeguatamente il valore del "Max ingrandimento per passo". Descrizione completa
Nella sezione Selezione del contenuto da preservare
è possibile specificare se ci sono regioni dell'immagine che dovrebbero
essere preservate dalle modifiche, attivando l'opzione
Attiva la preservazione dei contenuti e scegliendo
un livello tra quelli che appartengono all'imaggine attuale (e sono diversi
dal livello attivo) nel menu Livelli disponibili.
Il pulsante "Nuovo" crea un nuovo livello trasparente
con opacità 50% e un nome appropriato, e lo imposta
come maschera da utilizzare per la preservazione dei contenuti
(nota che se il plugin viene lanciato su una selezione fluttuante
questa procedura non è adatta, dato che non si potrà lavorare
sul nuovo livello). Inoltre, il colore di primo piano viene impostato
a verde; il colore precedente viene ripristinato alla chiusura
della finestra di dialogo.
L'intensità dell'effetto su ogni pixel si ricava dalla media dei valori
del pixel in ogni canale del colore, moltiplicato per il canale alpha.
Quindi per un livello RGB con un canale alpha, il valore massimo si otterrà
con i pixel binachi, mentre quelli neri e quelli trasparenti
sono ignorati. In generale, è consigliabile lavorare con un solo colore per
maschera, e, se necessario, regolare l'intensità nelle diverse aree cambiando
il valore della trasparenza piuttosto che agire sulla luminosità o sulla
saturazione.
Le dimensioni e la posizione dei layer selezionati può essere arbitraria,
il plugin utilizza solo le porzioni che si sovrappongono al livello attivo.
La scala "Intensità" può essere utilizzata come parametro globale
per modulare la preservazione dei contenuti.
Nota selezioni più sottili (nel verso del ridimensionamento) hanno bisogno
di valori di intensità più alti, e viceversa.
La sezione Selezione dei contenuti da eliminare è identica alla precedente,
ma l'effetto è invertito, e il colore impostato dal pulsante "Nuovo"
è il rosso anziché il verde.
In più, rispetto alla sezione precedente, ci sono due altri pulsanti, accanto all'etichetta
"Auto dimensionamento", che possono essere usati per effettuare l'eliminazione "rapida" di
aree dell'immagine.
Se si preme uno di questi pulsanti, il plug-in cerca di calcolare l'ammontare di riscalatura necessaria per
rimuovere gli oggetti marcati dall'attuale maschera per l'eliminazione, e imposta corrispondentemente
le dimensioni finali (nella sezione "Selezionare le nuove dimensioni").
Questi pulsanti producono sempre un riscalamento in una singola direzione: il tasto "Larghezza"
modifica la larghezza e reimposta l'altezza al valore originario, il tasto "Altezza" fa
l'opposto.
Si noti che questa opzione è adeguata solamente per operazioni di rimozione elementari,
poiché questo metodo può facilmente sbagliare se la maschera è troppo complicata.
[Dettagli tecnici: le dimensioni finali sono calcolate semplicemente a partire dal massimo numero
di pixel per riga (o colonna) per i quali la maschera supera una data soglia; questa soglia corrisponde
al 50% di un colore RGB pieno (ad es. del rosso con le impostazioni di default).]
Output
Questa linguetta contiene alcune opzioni riguardo all'output del plugin.
AvanzateQuesta linguetta contiene alcune opzioni che permettono un controllo avanzato dell'algoritmo di ridimensionamento. Impostazioni linee d'azione
Controllo delle operazioni
Utilizzo del plugin per l'editing di video e animazioniUtilizzo del plugin con GAPIl plugin può essere utilizzato assieme al GIMP Animation Package (GAP) per l'editing video, così da applicare il riscalamento liquido a tutti i frames di un video (consultate la documentazione di GAP per informazioni riguardo all'editing video con GIMP). Tuttavia, gli strumenti di GAP permettono di selezionare in maniera diretta soltanto il livello su cui lavorare, mentre il liquid rescale plugin necessita di utilizzare dei livelli ausiliarî per sfruttare tutto il suo potenziale. Per aggirare il problema, i livelli ausiliarî vengono selezionati in base al loro nome: perciò, se volete usare una maschera per la preservazione dei contenuti in ogni frame, per esempio, dovrete chiamare allo stesso modo tutti i livelli che intendete usare come tali. Lo stesso vale per le maschere per la preservazione dei contenuti e le maschere per la rigidezza.
Per applicare il riscalamento liquido su tutti i frames, selezionate "Modifica frame"
dal menu "Video"; si aprirà una finestra di dialogo: nella sezione
"Funzione" selezionate "Applica filtri ai livelli", quindi impostate
le regole appropriate per la selezione dei livelli e dei frames e cliccate OK.
Comparirà una nuova finestra di dialogo, nella quale bisogna scegliere un filtro:
selezionate "plug-in-lqr", poi scegliete "Applica costante"
oppure "Applica variabile".
In quest'ultimo caso, la finestra di dialogo del liquid rescale plugin vi verrà
presentata due volte, una per il primo frame e una per l'ultimo: queste impostano
i valori estremi per tutti i parametri graduali (come le dimensioni, le intensità,
la rigidità ecc.), e valori intermedî di questi verranno usati per i frames intermedî
(per esempio, impostando a 100% la larghezza nel primo frame e 110% nell'ultimo, e
supponendo che i frames in tutto siano 11, i frames intermedî avranno larghezza
101%, 102%, 103% e così via..
Tutte le opzioni non graduali, invece, come l'ordine di ridimensionamento, il
nome dei livelli ausiliarî ecc., vengono prese dell'ultima finestra di dialogo
per i livelli intermedî.
Applicare il plugin su tutti i livelli (ad es. per le animazioni)È anche possibile applicare il plugin a tutti i livelli di una data immagine (per esempio quando si lavora su un'animazione), usando l'opzione "Filtra tutti i livelli..." dal menu "Filtri" e scegliendo "plug-in-lqr" nella finestra di dialogo che compare. Le regole usate sono le stesse descritte nella sezione per l'utilizzo di GAP; tuttavia, incontrerete dei problemi in questo caso se usate dei livelli ausiliarî come maschere, poiché il plugin viene applicato anche a questi. Descrizione dell'interfaccia utente (modalità interattiva)
La modalità interattiva viene attivata premendo il pulsante corrispondente nella finestra di dialogo principale: le impostazioni correnti (incluse quelle sulle dimensioni) vengono applicate, e viene mostrata una nuova finestra di dialogo ridotta. In questa modalità è possibile modificare solamente le dimensioni (e le modifiche vengono immediatamente applicate); inoltre alcune opzioni vengono ignorate:
Selezionare le dimensioniQuesta sezione contiene i controlli per le dimensioni del livello. L'applicazione delle modifiche è quasi, immediata, ma solo dopo che i pulsanti sono stati rilasciati: questo significa che, se avete attivato il pulsante a catena per preservare le proporzioni del livello, il risultato sarà diverso a seconda che il ridimansionamento avvenga in diversi piccoli passi o tutto in una volta. Il pulsante di reset sulla destra riporta le dimensioni al valore iniziale: se la mappa non è mai stata reimpostata, il risultato è uguale all'immagine di partenza, altrimenti sarà diversa (vedi anche la sezione sulla mappa qui sotto). MapLa sezione addizionale "Mappa" nella finestra di dialogo interattiva riguarda la mappa delle linee d'azione che il plugin usa internamente. Le mappe hanno un'orientamento (che dipende dalla dimensione del ridimensionamento), un valore di riferimento (quello di inizializzazione della mappa) e un intervallo d'azione. Le mappe permettono di ridimensionare quasi in tempo reale lungo la loro direzione e all'interno del loro intervallo d'azione; quando si oltrepassano i limiti dell'intervallo le mappe vengono aggiornate. Le mappe contengono tutta l'informazione relativa al proprio intervallo d'azione: dunque, se si ritorna al valore di riferimento di una mappa, si riottiene l'immagine originale. Tuttavia, ogni volta che la direzione di ridimensionamento cambia, o quando si supera il massimo ingrandimento per passo, la mappa viene automaticamente reinizializzata; quando ciò accade, tutte le informazioni precedenti sono perdute. Ci sono tre pulsanti in questa sezione:
Utilizzo del plugin in modalità batchIl plugin viene distribuito assieme a degli script che aiutano ad utilizzarlo dalla linea di comando. Per averne una descrizione, utilizzate il "Navigatore di procedure" dal menu "Aiuto" di GIMP, e cercate batch-gimp-lqr, batch-gimp-lqr-full e batch-gimp-lqr-full-use-id; il significato delle opzioni dovrebbe risultare ovvio, sapendo come funziona l'interfaccia standard. Appendice: La tecnica del seam carvingIl funzionamento del plugin si basa sulla ricerca dei cosiddetti "seams", o "linee d'azione" di un'immagine, ovvero delle linee continue che attraversano a zig-zag tutta l'immagine ta sopra a sotto (nel caso di linee d'azione "verticali"), o da sinistra a destra (per le linee d'azione orizzontali). Se una di queste linee d'azione, una di quelle verticali poniamo, viene rimossa dall'immagine (l'operazione che prende il nome di "carving"), la larghezza dell'immagine si riduce di un pixel. Rimuovendo linee d'azione orizzontali si riduce invece l'altezza. Iterando queste operazioni (cioè la ricerca di una linea d'azione e la sua rimozione), l'immagine può essere ridotta a piacimento. L'insieme di tutte le linee d'azione, prese nell'ordine in cui sono state applicate, costituisce una cosiddetta "mappa delle linee d'azione". L'operazione opposta al carving, cioè l'inserimento di linee d'azione addizionali accanto a quelle che ha trovato l'algoritmo, si possono invece allargare le immagini. In tal caso, il significato della mappa delle linee d'azione è invertito. Per opter ottenere buoni risultati con questa tecnica, la questione principale è di scegliere come individuare le linee d'azione più adatte per l'inserimento o la rimozione. Se lo scopo del ridimensionmento è semplicemente quello di modificare le proporzioni di un'immagine senza alterarne troppo i contenuti, per esempio, allora le linee d'azione "buone" saranno quelle che non attraversano parti importanti dell'immagine, passando piuttosto sullo sfondo. Per default, il plugin cerca di trovare le linee che attraversano le aree a minore contrasto (la specificazione esatta di questo puno avviene tramite la scelta della funzione gradiente nella tab "Avanzate"). Perciò, ad ogni pixel dell'immagine viene associato un cosiddetto "valore energetico": più è elevato il contrasto, più è alta l'energia, e le linee d'azione tendono ad evitare le aree con alta energia. Dal momento che, in molti casi, il semplice modello basato sul solo contrasto non è ottimale, è possibile aggiungere dei termini all'energia di alcune aree e specificare quali dovrebbero avere un'energia maggiore del normale (usando una maschera per la preservazione) e quali una minore (usando una maschera per l'eliminazione). In pratica quindi in questo modo si possono controllare le linee d'azione e quindi tutto il processo di riscalatura. Le maschere per la rigidità funzionano in modo simile, ma la quantità di energia aggiuntiva che introduce non dipende solamente dal valore associato ad ogni pixel, ma anche de quanto sono dritte le linee d'azione che dovrebbero attraversare quel pixel. In conclusione, per farsi un'idea intuitiva del processo, si consideri che le linee d'azione cercano di trovare la via che gli permetta di raggiungere la parte opposta attraverando le zone ad energia minore; le maschere per la preservazione hanno l'effetto di introdurre delle barriere che, se abbastanza alte, possono deviare le linee d'azione e respingerle, mentre le maschere per l'eliminazione sono come vallate, che al contrario attraggono le linee d'azione. Le maschere per la rigidità hanno invece l'effetto di aggiungere delle barriere ai lati delle linee d'azione, in modo da renderle più dritte. |