Attenzione: l'articolo è stato scritto da oltre 1 anno, le informazioni in esso contenute potrebbero essere datate e non più attuali.

Le curve

Lo strumento Curve è uno di quelli che deve necessariamente trovarsi nella nostra personale borsa degli attrezzi se vogliamo intervenire in maniera produttiva e efficiente sulle immagini.

Lo strumento Curve viene infatti adoperato in una gran moltitudine di situazioni che vanno dal miglioramento del contrasto alla correzione di dominanti di colore, all'ottenimento di interessanti effetti speciali, sia nel mondo del ritocco fotografico che nella grafica 2D.
In GIMP c'è un altro strumento che può essere assimilato alle Curve, lo strumento Livelli che è, però, molto meno flessibile con i suoi soli tre punti di controllo.
Lo strumento curve può essere trovato in <imm> / Livello / Colori / Curve (in Gimp 2.x) o in <imm> / Immagini / Colori / Curve (in Gimp 1.2):

Finestra principale

Nella zona centrale della finestra si trova una "curva" e, sui due assi, dei gradienti di grigio che vanno dal nero (0) al bianco (255). Sull'asse delle ascisse abbiamo i valori in ingresso e sull'asse delle ordinate i valori in uscita (per ora la curva è una retta a 45 gradi in quanto associa ai valori in entrata gli stessi valori di uscita). Quindi modificando la curva rimapperemo i valori in ingresso a quelli scelti da noi:

Rimappatura valori

In questo caso il valore centrale (128) è stato spostato verso l'alto e con esso anche i valori adiacenti. Nell'esempio sopra l'immagine è stata schiarita.
Lo strumento curve può essere applicato al Valore o ai canali Valore, Rosso, Verde, Blu o Alpha di un'immagine, purché tali canali siano presenti. La scelta dell'obiettivo cui applicare la curva può essere fatta dal menù a discesa in alto (possiamo applicare modifiche anche a più canali).
Altri elementi interessanti della finestra Curve sono i pulsanti Salva e Apri per poter riutilizzare una particolare curve su più immagini e la sezione Tipo curva in cui scegliere tra la curva disegnata completamente a mano e quella, predefinita, disegnabile aggiungendo e posizionando dei punti di controllo (massimo 17):

Tipologie curve
Curva libera e con punti di controllo per i canali verde e rosso

Il contrasto

Lavorare col contrasto generale

Operando con le curve è possibile, ad esempio, modificare il contrasto generale di un'immagine, basta variare i due punti estremi della curva:

Contrasto con le curve
Ridurre e aumentare il contrasto

Aumentare il contrasto locale -- La curva a S

Un'altra applicazione molto comune dello strumento Curve consiste in un aumento del contrasto nei valori centrali di un'immagine attraverso la cosiddetta curva a S:

Con la curva rappresentata sopra verranno ulteriormente scurite le ombre e accentuate le luci, dando spazio ad un miglioramento del contrasto dei valori centrali dell'immagine (a proposito come dovrebbe essere la curva per diminuire il contrasto?).
Ovviamente la curva vista sopra non è LA curva perfetta adatta ad ogni scopo, in molti casi vorrete evidenziare un volto o un altro oggetto della scena valorizzandone il contrasto, quale sarà la curva giusta? Vi basterà, dopo aver attivato lo strumento Curve, trascinare, tenendo premuto il tasto sinistro del mouse, il cursore sulla zona dell'immagine da migliorare: nella finestra Curve apparirà una linea verticale che vi indicherà i valori tonali della zona in cui passate il cursore, applicate la curva a S tra gli estremi raggiunti dalla linea e avrete ottenuto il risultato voluto.

Schiarire/scurire un'immagine

Variare la luminosità dell'immagine è un'operazione che può essere fatta con vari tool, tra i principali Luminosità/contrasto e Livelli. Non dimentichiamoci, però, lo strumento curve:

Schiarire/scurire
Schiarire e scurire un'immagine

Lavorare col colore

I programmi di grafica per computer trattano le immagini suddividendole in canali (RGB, CMYK, ecc...). GIMP utilizza esclusivamente il modello RGB. La suddivisione in canali fa sì che il canale rosso, o il verde o il blu sia trattato nello stesso modo del Valore, ossia sono rappresentati da pixel con 256 colori possibili, come un'immagine in scala di grigio. Per le modifiche ai canali Rosso, Verde e Blu valgono, quindi, le stesse considerazioni fatte sopra per il Valore, con l'unica differenza, non da poco, che intervenire su di essi comporterà variazioni cromatiche dell'immagine. Ecco alcuni esempi sull'uso delle curve:

Effetti speciali

Doppio bordo

Ecco un'applicazione molto semplice: partiamo da un rettangolo sfumato:

e con questa curva:

otteniamo una doppia linea:

Bordi sfumati

Immaginiamo di voler ottenere questo effetto molto semplice:

foto con bordi sfumati

i più smaliziati di voi avranno già pensato ad un metodo per ottenerlo e, molto probabilmente, molti metodi sono possibili. In questa pagina stiamo però trattando l'uso delle curve ed allora vediamo come possiamo ottenerlo con questo fantastico strumento.
Apriamo una foto e aggiungiamo un livello trasparente. Riempiamo il livello trasparente con un gradiente bianco-nero e applichiamogli la seguente curva:

Impostazioni Curve

Infine impostiamo per il secondo livello la modalità di colore "Solo toni chiari":

Opzioni livelli

Come esercizio potete provare a impostare i bordi di colore nero, ci sono delle piccole differenze...

Le curve negli script

Come tutte le funzioni di GIMP, anche le curve possono essere utilizzate in uno dei suoi linguaggi di scripting. Dato che con moltissimi difficoltà ho trovato qualcosa del genere al rigurado in rete, ho pensato di inserire qui alcuni esempi per il linguaggio Script-fu.
Esistono due funzioni relative alle curve: gimp-curves-spline e gimp-curves-explicit. La prima equivale all'utilizzo predefinito della curva che utilizza alcuni punti di controllo e il resto della curva si adatta ad essi. Il secondo metodo corrisponde, invece, alla definizione a mano libera della curva punto per punto.
Il punto su cui ho avuto più problemi (anche per colpa mia che avevo letto male le definizione) è stato definire cosa fosse un INT8ARRAY e come dovesse essere creato (le mie basi di script-fu sono per ora molto approssimative). Un INT8ARRAY è un array (in pratica un elenco, ma più correttamente una matrice) composto da numeri interi a 8 bit ossia compresi tra 0 e 255. GIMP lo indica in questo modo:
#3"000000",
in questo caso un array di tre elementi (#3) tutti pari a zero (00), con valori espressi in esadecimale (altra scocciatura).
Passiamo ora agli esempi pratici per capire come usare le due funzioni.




gimp-curves-spline

Questa è la funzione più utile, secondo me. Lo schema di utilizzo è il seguente:
(gimp-curves-spline drawable channel num_points control_pts)
Se conoscete un po' GIMP e lo script-fu non dovreste avere problemi sui primi due parametri, gli ultimi due invece potrebbero creare qualche problema. "num_points" è il numero di coordinate contenute nell'array e non il numero di punti, quindi due punti sono quattro coordinate (il numero massimo è 34 cioè 17 punti di controllo). L'ultimo (control_pts) è il famoso array di cui sopra; purtroppo GIMP non accetta la forma dell'array vista sopra e l'unico modo che ho trovato di farglielo digerire è di creare una variabile in cui inserire l'array e poi passare la variabile alla funzione:

; Funzione principale

(define (script-fu-provacurve img drawable)

        ; creazione array di nome points con 4 elementi
        (set! points (cons-array 4 'byte))
        ; coordinate del primo punto x e y
    ; aset variabile posizione_nell_array valore_da_inserire
        (aset points 0 0)
        (aset points 1 255)
        ; coordinate del secondo punto
        (aset points 2 255)
        (aset points 3 0)
        ; applicazione curva
        (gimp-curves-spline drawable 0 4 points)

        ; ridisegno l'immagine
        (gimp-displays-flush)
)

; ------------------------------
;   Funzione di registrazione
; ------------------------------
(script-fu-register "script-fu-provacurve"
                    _"<Image>/Script-Fu/Prova/Esempio curve"
                    ""
                    "Mike Vargas"
                    ""
                    ""
                    ""
      SF-IMAGE          "Immagine" 0
      SF-DRAWABLE "Livello" 0
)



gimp-curves-explicit

La funzione gimp-curves-explicit equivale al disegno a mano libera della curva (vedi sopra), in questo caso bisogna passare allo script tutti i 256 valori, ossia creare, come sopra, un array ma questa volta di 512 elementi che indichino tutti i punti. Per crearlo potete utilizzare lo stesso metodo visto sopra, oppure questo trovato su internet:

(let* (
    (string (string-append
    "ffffffffffffffffffffffffffffffffffffffffffffffffff"
    "ffffffffffffffff0000000000000000000000000000000000"
    "0000000000000000ffffffffffffffffffffffffffffffffff"
    "ffffffffffffffffffffffffffffffffffffffffffffffffff"
    "ffffffffffffffff0000000000000000000000000000000000"
    "0000000000000000ffffffffffffffffffffffffffffffffff"
    "ffffffffffffffffffffffffffffffffffffffffffffffffff"
    "ffffffffffffffffffffffffffffffffffffffffffffffffff"
    "ffffffffffffffffffffffffffffffffffffffffffffffffff"
    "ffffffffffffffffffffffffffffffffffffffffffffffffff"
    "ffffffffffff"))

    (the_int8_array (hexstr->bytes string)) )


    (gimp-convert-grayscale img)
    (gimp-curves-explicit img drawable 0 256 the_int8_array)
o, ancora, con gli strumenti che la sintassi di Script-fu mette a disposizione, su tutti un ciclo che inserisca auomaticamente i valori.

Conclusioni

Come avete potuto vedere con questi piccoli esempi, l'uso dello strumento Curve ci consente in pochi semplici passi di ottenere effetti altamente personalizzabili. Non vi resta quindi che provare e riprovare, tenendo sempre presente CTRL+Z ;-)

Link correlati sul web

Il tuo voto: Nessuno Media: 5 (1 vote)