Tecnologia e non solo

aprile 14, 2012

Gimp 2.8 scripting con script-fu 6

Filed under: image-processing — telperion @ 12:28 pm

Sesta parte,
applicare Colori-Curve.

Lo script con la 6 parte lo trovate qui:
http://pastebin.com/1PJ346Ah

Le righe aggiunte, dalla 203 alla 260, al solito duplicano le funzioni, come spiegato nella quarta parte, per creare un nuovo livello dal nome “Colori-Curve” dentro al nostro gruppo “Script” (id miogruppo), poi selezioniamo il livello “Prova” e lo copiamo nel livello appena creato.

A questo livello applichiamo una curva ai colori (menu – Colori – Curve) arbitraria:

Uploaded with ImageShack.us

La funzione gimp che esegue questa operazione è gimp-curves-spline.
Vediamo con
menu – Aiuto – Navigatore di procedure
come va usata:

Uploaded with ImageShack.us

Ne ricaviamo che la funzione con i parametri è
(gimp-curves-spline DRAWABLE channel numpoints control-pts)
I vari parametri li vedremo nel dettaglio.

Iniziamo con control-pts cioè la matrice che contiene le coordinate x e y dei punti di controllo (minimo 4 coordinate, cioè 2 punti, massimo 34, cioè 7 punti) della curva nella prima figura. Come li ricaviamo?
Semplice:

Uploaded with ImageShack.us

Posizionandoci con il mouse sui punti della curva, ricaviamo le coordinate x e y (nel riquadro bianco in alto a sinistra del grafico) dei 5 punti, nell’ordine da sinistra a destra, che in questo esempio sono:

18 0
59 83
119 170
206 208
255 255

Vediamo il codice dello script:

	(gimp-curves-spline 
		(car (gimp-image-get-layer-by-name img 
			"Colori-Curve"
		     )
		) 
		0 
		10 
		#(
			18 0 59 83 119 170 206 208 255 255
		)
	)

dove DRAWABLE cioè l’id (un numero) del livello (col nome “Colori-Curve”) dove deve essere applicata la curva, ci viene fornito da

		(car (gimp-image-get-layer-by-name img 
			"Colori-Curve"
		     )
		) 

Cominciate a capire i meccanismi?

Lo 0 alla riga successiva è channel HISTOGRAM-VALUE (0) cioè canale VALORE nel dialog sopra

Il 10 nella riga successiva sono i numpoints, cioè le coordinate x e y dei nostri punti di controllo, 5 sono i punti sulla curva, moltiplicati per 2 valori ognuno, cioè le coordinate x e y di ogni punto, da il numero 10.

Poi troviamo

		#(
			18 0 59 83 119 170 206 208 255 255
		)

che è la matrice che contiene control-pts, cioè le 10 coordinate x e y dei nostri 5 punti di controllo separati da spazio, nell’ordine dal primo a sinistra nella figura sopra, all’ultimo a destra della curva.
Questi numeri sono quelli che abbiamo ricavato sopra posizionandoci col mouse sui punti della curva nel grafico.

Salvato lo script e se gimp è aperto facciamo:
menu – filtri – script-fu – aggiorna gli script

eseguiamo poi lo script su un’immagine aperta.
Otterremo anche il nuovo livello con applicata la curva.
Dal menu Modifica – Annulla demo livelli di gruppo
potremo annullare le azioni dello script visto che abbiamo impostato l’undo generale nella parte 2.

E cosi abbiamo visto, come capire i parametri di una funzione dal navigatore procedure, e come usare gimp-curves-spline.

La documentazione ufficiale script-fu per saperne di più, è qui:
http://docs.gimp.org/it/gimp-scripting.html

Tutto chiaro?
Alla prossima.

Gimp 2.8 scripting con script-fu 5

Gimp 2.8 scripting con script-fu 7

Crea un sito o un blog gratuitamente presso WordPress.com.

%d blogger cliccano Mi Piace per questo: