On demand #1B: Il comando Calcoli – pt. 2

Struttura del comando Calcoli

Nella prima parte di questo articolo abbiamo discusso lo scopo e il principio su cui Calcoli si basa, con un esempio piuttosto eclatante in cui abbiamo realizzato una maschera di scontorno perfetta con due sole manovre: un’applicazione di Calcoli e una Curva. Ora dobbiamo entrare più nel dettaglio di questo comando, e lo facciamo esaminando la struttura della finestra di dialogo.

Il blocco superiore della finestra di dialogo di Calcoli ci permette di selezionare il documento che identifichiamo come Sorgente 1. Questo documento è strutturato in livelli, che potremo selezionare. Nel caso il documento abbia solo lo sfondo, questa sarà l’unica scelta possibile; se invece ha più livelli, la scelta di default sarà il cosiddetto livello Unito, che rappresenta in sostanza ciò che vediamo a schermo indipendentemente da quanto complessa possa essere la struttura dei livelli che compongono la nostra immagine. Naturalmente sarà possibile selezionare anche qualsiasi livello individuale. Calcoli opera sui singoli canali, che saranno diversi a seconda del metodo colore in cui il documento è codificato. In generale considerate che saranno disponibili, a seconda dei casi:

  1. Tutti i canali propri del metodo colore in cui il documento è codificato.
  2. La trasparenza, se esiste.
  3. La maschera di livello di un certo livello, se esiste e se il livello è stato selezionato dal menu a discesa sovrastante.
  4. Tutti i canali alfa, se esistono.

I metodi colore RGB e CMYK offrono un canale aggiuntivo ai canali propriamente intesi, denominato Grigio: si tratta dell’equivalente della conversione in Scala di grigio dell’immagine. Per chi fosse curioso, il canale Grigio in RGB viene calcolato in base a una formula che approssimativamente possiamo esprimere come 0.3R + 0.6G + 0.1B. Se il file venisse convertito in CMYK il canale Grigio sarebbe sostanzialmente identico, salvo nelle eventuali aree in cui ci fossero dei problemi di gamut legati alla conversione dei colori da RGB. Lab offre invece soltanto i canali Luminosità, a e b. Infine, potremo decidere spuntando la casella opportuna se utilizzare il canale prescelto così come sta o in forma invertita (ovvero, in negativo – ricordate che i canali sono immagini in scala di grigio).

Il secondo blocco dall’alto della finestra di dialogo è assolutamente identico al primo: le funzionalità e le possibilità di scelta sono le stesse, perché le due sorgenti sono paritarie. L’unica cosa che dobbiamo discutere sono i vincoli che ci vengono imposti da questo comando, che sono sostanzialmente due:

  1. Le due sorgenti devono avere la medesima dimensione in pixel.
  2. Le due sorgenti devono avere la stessa profondità in bit.

I vincoli del comando Calcoli

La prima richiesta è piuttosto ovvia: Calcoli combina canali provenienti da documenti che possono essere diversi, e ha bisogno di un riferimento di allineamento preciso. Se abbiamo un documento di 3888 x 2592 pixel e vogliamo combinare i suoi canali con quelli di un altro documento, è necessario che questo abbia a sua volta una dimensione di 3888 x 2592 pixel: anche un solo pixel di differenza e la sovrapposizione rigida, pixel per pixel, non potrebbe avvenire. Questo non significa che i due documenti debbano però avere la stessa risoluzione: un documento di dimensioni date codificato, ad esempio, a 72 ppi, è combinabile tramite Calcoli con un documento delle stesse dimensioni codificato a 300 ppi. In realtà, pensandoci, sarebbe stato possibile implementare in Photoshop anche delle modalità di sovrapposizione geometrica diverse: nulla impedirebbe, ad esempio, di combinare tramite Calcoli canali provenienti da due immagini di dimensioni diverse, prendendo come punto di allineamento il centro o, per dire, l’angolo in alto a sinistra. La sovrapposizione non sarebbe completa, naturalmente, ma in linea di principio queste sarebbe possibile. Il motivo della scelta di lavorare su immagini che abbiano rigorosamente la stessa dimensione ci viene suggerito ancora una volta da David Biedny, il cui input è già stato assai prezioso nella prima parte di questo articolo:

The whole thing about Calculations is that it was designed to deal with multiple scanned film plates that were always the exact same size – the supposition was that you would not want to move anything in X or Y, scans were pre-registered.

Ovvero:

Calcoli è stato progettato pensando alla scansione di diversi fotogrammi da pellicola che avevano sempre la medesima dimensione – l’ipotesi era che non si volesse spostare nulla lungo l’asse X o l’asse Y, perché le scansioni venivano messe a registro a priori.

La seconda richiesta è comprensibile, ma è più strana e va certamente imputata a un ulteriore retaggio del passato: Calcoli non è in grado di combinare un canale di un documento codificato a 8 bit con un canale di un documento (della stessa dimensione in pixel) codificato a 16 bit. Da un punto di vista matematico ha senso, ma non credo che sarebbe difficile per i programmatori Adobe inserire una finestra di dialogo che desse all’utente la possibilità di scegliere cosa fare, ed eventualmente convertire i valori a 8 bit in valori a 16 bit o viceversa, a seconda della scelta. In ogni caso si tratta di un problema facilmente aggirabile: se si verifica la situazione descritta sopra basta convertire uno dei due documenti nel formato dell’altro e tutto va a posto.

Una cosa che ci interessa molto di più: non è in alcun modo necessario che i documenti siano codificati nello stesso metodo colore. Ovvero, è perfettamente possibile combinare un canale di un documento RGB con un canale di un documento Lab o CMYK purché siano verificate le condizioni di cui sopra (stessa dimensione in pixel, stessa profondità in bit). Se vogliamo essere precisissimi, i metodi colore che consentono di usare Calcoli sono cinque: Scala di grigio, Due tonalità, RGB, CMYK, Lab. Negli altri metodi il comando è disabilitato.

Avanti con la struttura…

La terza sezione della finestra di dialogo è la più complessa. In essa scegliamo il metodo di fusione prescelto per combinare i canali selezionati precedentemente, e abbiamo anche l’opzione di applicare una maschera alla nostra operazione. Cosa significa? Essenzialmente che possiamo applicare un canale alla stregua di una maschera di livello alla nostra operazione, salvo che non la vediamo e possiamo solo osservarne l’influenza sul risultato. Le regole sono le solite: serve un’immagine sorgente (la stessa su cui operiamo o un’altra, sempre vincolata ad avere identiche dimensioni di quella su cui lavoriamo e stessa profondità in bit), possiamo selezionare un livello della stessa, possiamo selezionare uno specifico canale ed eventualmente invertirlo. Quante volte si usa questa opzione? Poche, onestamente. Ma quando serve è assolutamente insostituibile.

L’ultima sezione della finestra di dialogo è la più semplice di tutte. Ci permette di decidere come vogliamo codificare il risultato di Calcoli. Le opzioni sono tre: creare un nuovo documento, creare un nuovo canale (inteso nel senso di canale alfa), creare una selezione. Nella stragrande maggioranza dei casi utilizzeremo la seconda, che è il default proposto da Photoshop. Attenzione in particolare alla terza: se da un punto di vista teorico è identica alla creazione di un canale, considerate anche che una selezione è per sua natura estremamente volatile. Un canale alfa, invece, rimane associato al file per sempre se salvate lo stesso in un qualsiasi formato che permetta di incorporarlo. Attenzione – jpeg non lo consente.

Arrivati a questo punto, fine della teoria: andiamo a vedere come si comporta il comando Calcoli nella realtà. Naturalmente non potremo esaminare qui tutte le possibilità e tutti i metodi di fusione, quindi ne sceglieremo due particolarmente significativi.

Iniziamo a usare Calcoli

Partiremo da un esempio che è esclusivamente didattico e che di pratico ha molto poco, ma che è essenziale per comprendere come districarsi tra le varie opzioni dei metodi di fusione e, soprattutto, che in alcuni casi è fondamentale scegliere bene l’ordine delle due immagini che fungono da sorgenti.

Sorgente 1: RGB, grigio 128R 128G 128B.
Sorgente 2: RGB, grigio 70R 70G 70B.

Qui a sinistra, l’immagine che useremo come sorgente 1. L’originale ha una dimensione di 400 x 400 px, è codificato in RGB a 8 bit (il profilo colore è sRGB ma questo è irrilevante, per ora) e i canali sono riempiti di grigio al 50%: 128R128G128B. A destra, l’immagine che utilizzeremo come sorgente 2: stesse dimensioni, stessa codifica, e i canali sono riempiti di grigio secondo la formula 70R70G70B. Il grigio, naturalmente, è più scuro perché la luminosità è più bassa.

La prima cosa che vogliamo fare è utilizzare un metodo di fusione che compare (un po’ sotto mentite spoglie) anche nella Palette Livelli: Aggiungi. Apriamo dunque entrambi i documenti, a cui abbiamo dato nome 08_Gray_128.jpg e 09_Gray_70.jpg. selezioniamo il primo (Sorgente 1) e richiamiamo la finestra di dialogo del comando Calcoli dal menu Immagine -> Calcoli. Le impostazioni che vogliamo dare sono quelle riportate nel prossimo screenshot.

Aggiungi: primo round…

Le impostazioni in oggetto non hanno bisogno di grandi spiegazioni. L’unico livello disponibile è lo sfondo e tutti i canali sono uguali in entrambi i documenti. Lavoriamo quindi con il Rosso, ma in realtà (in questo caso) qualsiasi altro canale darebbe lo stesso risultato. Abbiamo selezionato il metodo di fusione Aggiungi e abbiamo lasciato i default nei parametri disponibili: Opacità 100%, Sposta 0, Scala 1. Il primo parametro non necessita di commento, degli altri due parlerò tra pochissimo. Quello che mi importa farvi notare è che quando si combinano due livelli nella Palette Livelli, il metodo di fusione Scherma Lineare è denominato, tra parentesi, Aggiungi. Si tratta dello stesso metodo di fusione? Non esattamente: o meglio, sì ma solo sotto certe condizioni. In particolare, lo è con queste impostazioni dei parametri Sposta e Scala. Proprio per questo ho scelto di mostrarvi questo metodo di fusione in Calcoli, visto che ha delle opzioni che non sono disponibili in contesti diversi. Nello screenshot, dietro la finestra di dialogo, potete vedere il risultato dell’operazione, perché la casella Anteprima è selezionata. Il grigio che ne risulta è più chiaro di entrambi gli originali. Cerchiamo di capire perché.

Calcoli ha creato un canale (Alfa 1) contenente il risultato dell’operazione effettuata.

Dopo avere dato OK nella finestra di dialogo di Calcoli, apriamo la Palette Canali. Oltre ai soliti canali RGB, tutti identici come ci aspettiamo, è comparso ed è attivo e visibile il canale Alfa 1, creato da Calcoli. Il canale viene creato nel documento che funge da Sorgente 1. Un canale, ricordiamo ancora una volta, è rappresentabile tramite un’immagine in scala di grigio. Se cerchiamo di leggerne il valore, incontriamo un problema: il default nella Palette Info è quello della scala di grigio, ovvero la percentuale d’inchiostro. Nel nostro caso, un valore K = 22%. Se proviamo a modificare l’impostazione della Palette Info per leggere in RGB, andiamo incontro a una complicazione della quale non ho intenzione di parlare in questa sede perché richiederebbe una discussione troppo lunga, ma in sostanza si tratta di questo: la visualizzazione dei canali isolati dipende da una specifica impostazione nelle Impostazioni colore di Photoshop e in generale la lettura dei valori RGB di un singolo canale non è affidabile. Per rendere tutto coerente con la nostra visualizzazione dobbiamo utilizzare un piccolo trucco.

Applica immagine ci serve per visualizzare il contenuto del canale Alfa 1 in maniera coerente con il resto del documento.

Creiamo un livello vuoto sopra lo sfondo e utilizziamo Applica immagine su di esso. Applicheremo il canale Alfa 1 creato da Calcoli in metodo di fusione Normale, Opacità 100%. Questa operazione prende il risultato dell’operazione precedente effettuata da Calcoli, che è un canale, e lo trasforma in un’immagine (monocromatica) RGB che occupa un livello nel documento originale. I numeri che andiamo a leggere in questo livello sono ora coerenti con quelli che caratterizzano il documento. Verifichiamo:

La lettura nella Palette Info del valore dell’operazione effettuata da Calcoli.

La Palette Info, dopo che abbiamo posto un campionatore in un punto qualsiasi dell’immagine, ci dà una lettura pari a 198R198G198B. Questo fatto richiede un esame attento, perché è facile fare confusione. È abbastanza evidente che il valore 198 è effettivamente la somma dei due valori riscontrati nel canale prescelto dei files Sorgente 1 e Sorgente 2: 128 il primo, 70 il secondo, e 128 + 70 = 198. L’operazione (metodo di fusione) Aggiungi fa quello che deve fare. Ma c’è un’insidia nascosta: noi abbiamo creato un canale (Alfa 1) andando a sommare i valori del canale del Rosso nei due documenti. Quando abbiamo applicato Alfa 1 come immagine, questi valori si sono propagati automaticamente anche ai canali Verde e Blu. Nessun problema a priori: questo accade perché il canale Alfa 1 è un’immagine in scala di grigio che viene di fatto convertita in RGB nel momento in cui la applichiamo a un documento RGB, e sappiamo che un’immagine monocromatica in RGB non può avere altro che R = G = B. Ma questo può farci perdere di vista il fatto fondamentale che Calcoli lavora su un solo canale alla volta e non su tre. Ripeto: in questo caso specifico, era irrilevante perché i tre canali sono uguali, ma bisogna stare attenti quando si lavora su immagini i cui canali sono diversi. Se vanno mantenuti separati, serviranno tre diverse applicazioni di Calcoli, una per ciascun canale.

Aggiungi: secondo round…

Cosa c’è di diverso in questa finestra rispetto a quella vista poco fa? Apparentemente nulla, tranne una cosa: le due sorgenti sono state scambiate. Il risultato, come ci aspettiamo, è assolutamente identico, perché – in buona sostanza – 70 + 128 dà lo stesso risultato di 128 + 70: l’operazione di somma è commutativa, e cambiando l’ordine degli addendi il risultato non cambia.

Sottrai: primo round…

In questa finestra, invece, cambia qualcosa di sostanziale: il metodo di fusione non è più Aggiungi ma Sottrai. Il risultato è diverso, come potete verificare voi stessi dall’aspetto dell’Anteprima. Se provate a ripetere le stesse operazioni descritte poco fa, applicando il canale Alfa 1 creato da Calcoli a un livello appositamente creato, riscontrerete che i valori RGB risultanti sono 58R58G58B. Anche questo torna: 128 – 70 = 58, e abbiamo fatto un’operazione di sottrazione. Questo ci dice una cosa molto importante: quando si utilizza il metodo Sottrai, Calcoli effettua la seguente operazione: Sorgente 2 – Sorgente 1. Istintivamente si potrebbe pensare il contrario e questa in fondo è solo una convenzione, ma bisogna tenerla assolutamente presente quando si ha a che fare con un’operazione come Sottrai, che a differenza di Aggiungi è non-commutativa. In parole povere, se noi cercassimo di calcolare 70 – 128 (ovvero: Sorgente 1 – Sorgente 2) otterremmo un risultato ben diverso: -58. E qui si cade nel problema esposto nella prima parte dell’articolo: cosa succede quando le operazioni portano il risultato fuori dal campo naturale degli operandi? in RGB non possiamo avere numeri negativi, e quindi è interessante capire come Photoshop interpreta un risultato che dal punto di vista formale non ha alcun senso. Proviamo:

Sottrai: secondo round…

Il risultato è visibile nell’Anteprima: nero perfetto, con valori pari a 0R0G0B. Cosa fa quindi Photoshop? Ragiona in questo modo: “mi si sta chiedendo di sottrarre una certa luminosità a un’altra, ma questo mi porterebbe a una luminosità negativa. Questo non ha senso: quindi mi limito a ridurre la luminosità il più possibile e mi fermo a 0.” Il punto cruciale, lo ripeto, è che questa operazione è non-commutativa e il risultato dipende quindi da come scegliamo le due sorgenti. Non è un problema da poco, come avrete intuito, perché può verificarsi un fenomeno di clipping, ovvero di perdita completa di informazione, in certe aree dell’immagine. Allo stesso modo, se tentassimo di sommare valori il cui risultato è superiore a 255, Photoshop agisce con la stessa logica ma sul versante opposto della luminosità: se la luminosità risultante fosse, ad esempio, 279, si fermerebbe al massimo compatibile con RGB, ovvero 255. A meno che… noi non siamo più intelligenti e previdenti di lui e mettiamo in atto delle manovre che consentono di aggirare questo problema. La ricaduta di questo fatto è di enorme portata, e vorrei mostrarvi un esempio un po’ più interessante di quelli esaminati finora.

Da dove nasce la maschera di contrasto?

La fotografia qui a fianco (potete cliccare per vederne una versione ingrandita e potete anche scaricarla se desiderate provare la procedura che vi sto per descrivere) è stata resa monocromatica per comodità. In RGB i suoi canali sono uguali, e in questo modo possiamo lavorare indifferentemente su uno di essi. In generale, con un’immagine a colori la procedura è la stessa, ma dovremmo lavorare sui tre canali separatamente in modo da ricostruire coerentemente l’informazione cromatica. Procedura più lunga, quindi, e da relegare (se è il caso) a un’Azione di Photoshop in grado di ripetere operazioni elementari in maniera infallibile. Ciò che ho intenzione di fare con questa fotografia è la realizzazione di una maschera di contrasto senza mai utilizzare il filtro omonimo in Photoshop. Anzi, senza utilizzare nessun filtro di Photoshop tranne Controllo sfocatura, ovvero la sfocatura gaussiana. Se volete, seguite questa ricetta:

Il canale Rosso copia, sfocato di 2 px.
  1. Aprite la Palette Canali e selezionate un canale qualsiasi (sono tutti identici). Io ho scelto il Rosso. Trascinate il canale verso la piccola icona a forma di foglio che si trova in basso a destra in modo da duplicarlo: questo creerà il canale aggiuntivo denominato Rosso copia.
  2. Selezionate il canale Rosso copia e applicategli il filtro che trovate in Filtro -> Sfocatura -> Controllo Sfocatura. Utilizzate un raggio pari a 2 px, come potete vedere nell’immagine qui a sopra.
  3. Utlizzate ora Calcoli utilizzando come Sorgente 1 e Sorgente 2 la medesima immagine, e andando a sottrarre il canale Rosso copia da Rosso. Per quanto abbiamo detto sopra, dovremo impostare Rosso copia come canale in Sorgente 1 e Rosso come canale in Sorgente 2.
  4. Si creerà un canale Alfa 1 dopo che avrete dato OK.

 

L’applicazione di Calcoli: sottrazione da un canale della sua versione sfocata.

Il risultato è visibile qui a fianco. A cosa ci può servire questa immagine incredibilmente scura? Così, a nulla, o molto poco. Ma, che ci crediate o no, questa immagine è, una maschera di contrasto sotto mentite spoglie. Il risultato della stessa dipende, naturalmente, dal raggio della sfocatura con cui abbiamo filtrato il canale Rosso copia. Il problema è che non abbiamo bene idea di come applicare questa cosa all’originale. La soluzione è modificare il metodo con cui Calcoli effettua la sottrazione. Prima ho detto che avrei discusso i parametri Sposta e Scala a breve: il momento è arrivato. Il parametro Sposta può assumere qualsiasi valore intero compreso tra -255 e 255 e tale valore viene sommato algebricamente al risultato dell’operazione come lo abbiamo visto poco fa. Nel primo round di applicazione di Sottrai avevamo ottenuto un risultato pari a 58R58G58tenendo il parametro Sposta a 0. Se lo avessimo impostato a 100 il risultato sarebbe stato 158R158G158B. Ma, attenzione, se lo avessimo impostato a 200 il risultato formale sarebbe stato 258R258G258B: un valore impossibile in RGB. Photoshop a quel punto si sarebbe limitato a clippare il tutto restituendoci 255R255G255B. In pratica, in questo modo finiremmo per avere un problema opposto: certi risultati finirebbero per venire clippati al massimo della luminosità invece che al minimo. Per evitare questo problema, entra in scena il parametro Scala, che può assumere valori (decimali) compresi tra 1,000 e 2,000. Questo parametro è il numero per il quale il risultato della sottrazione viene diviso. Sono possibili moltissime combinazioni di Sposta e Scala, ma una delle più interessanti è questa: Sposta = 128, Scala = 2.

Ora, un attimo di attenzione perché questo è il passaggio più difficile che dobbiamo affrontare. Il metodo di fusione Sottrai effettua l’operazione di sottrazione tra i valori di due canali opportuni. Se guardiamo alla semplice sottrazione tra numeri, i due casi più estremi che si possono presentare sono i seguenti:

  1. Il canale prescelto di Sorgente 2 vale 255 e il canale prescelto di Sorgente 1 vale 0. Il risultato della sottrazione è 255.
  2. Il canale prescelto di Sorgente 2 vale 0 e il canale prescelto di Sorgente 1 vale 255. Il risultato della sottrazione è -255.

È chiaro che, in generale, la sottrazione ci potrà portare al di fuori dell’intervallo di valori ammissibili in RGB, ma è altrettanto chiaro che se facciamo rientrare nei ranghi in qualche modo i valori estremi, l’operazione diventerà sicura al 100%. Se dividiamo il risultato di Sottrai per 2, ovvero il fattore Scala (ricordando che si tratta di una divisione che deve dare come risultato un numero intero e che pertanto eventuali decimali vengono troncati) il risultato della prima sottrazione diventa 255 / 2 = 127,5 che tronchiamo a 127. Il risultato della seconda sottrazione diventa -255 / 2 = -127,5 che tronchiamo a sua volta a -127. A questo punto, aggiungiamo il fattore Sposta. Il primo numero diventa 127 + 128 = 255. Il secondo numero diventa -127 + 128 = 1. Siamo riusciti quindi a far rientrare nell’intervallo dei numeri ammessi in RGB il risultati di una sottrazione qualsiasi e abbiamo in questo modo “blindato” l’operazione. La cosa più interessante è ciò che accade quando andiamo a sottrarre dei pixel uguali tra i canali prescelti delle due sorgenti: qualsiasi sia il valore di questi pixel, la sottrazione ci dà 0. Il fattore Scala in questo caso è irrilevante, perché il risultato della divisione rimane 0, mentre Sposta fa risalire il valore a 128. Ovvero, in questa modalità di operazione la differenza di due pixel identici viene codificata con un grigio al 50%.

Probabilmente avete già capito dove stiamo andando a parare. Diamo un’occhiata innanzitutto al risultato:

Un filtro Accentua passaggio – o, per meglio dire, Passa alto? Quasi…

L’immagine estremamente poco contrastata che vedete a fianco è una maschera di contrasto pronta per l’uso. Se avete familiarità con il filtro Accentua passaggio (che dovrebbe chiamarsi in realtà Passa alto, il nome italiano è un errore di traduzione che perdura ormai da anni) potreste pensare che il canale che stiamo creando con questa operazone sia identico al risultato che avremmo applicando tale filtro (con raggio pari a 2, naturalmente) alla nostra immagine. Non è esattamente vero, ma ci siamo molto vicini. Se creiamo un nuovo livello nel nostro documento, applichiamo il canale che abbiamo creato con Sottrai, Sposta = 128, Scala = 2 in modalità Normale e con Opacità al 100%, e cambiamo il metodo di fusione del livello in Luce Lineare, vediamo subito il risultato della nostra maschera di contrasto. Potete vederlo anche voi, se non avete voglia di provare, nella prossima immagine.

A sinistra: l’immagine originale. A destra: il canale creato con Calcoli viene applicato in modalità Luce Lineare.

Cliccate sull’immagine qui a fianco per vederla a risoluzione più elevata: l’effetto della maschera di contrasto sulla metà di destra è palese (la metà di sinistra è l’originale). Abbiamo quindi creato una maschera di contrasto partendo solo da un canale e utilizzando una sua copia sfocata. A questo punto, mi rendo conto, avrete delle domande. Cerco di prevenirle ed elenco quelle che saranno le più probabili qui di seguito, tentando anche di dare delle risposte.
(NB: nell’immagine a fianco, la maschera di contrasto è piuttosto aggressiva, affinché sia chiaramente visibile – ma non considerate questo risultato come una proposta esteticamente valida!)

 

 

 

 

Domande, domande, domande…

D: A che serve tutto questo? Non conviene semplicemente usare il filtro Maschera di contrasto?
R: Certamente conviene: è molto più semplice. Il punto cruciale è mostrare da dove vengono certe cose che diamo per scontate. Inoltre, esiste un problema di flessibilità. Un esempio: quando si utilizza il filtro Maschera di contrasto in modalità inversa (detta anche HiRaLoAm), ovvero con un raggio elevato e un fattore basso, spesso notiamo che si generano degli aloni. Un modo per evitarli è quello di utilizzare una sfocatura che produca meno aloni di quella gaussiana, ovvero del filtro Controllo sfocatura. In Photoshop c’è, e si chiama Sfocatura superficie. Ma non c’è un filtro che possa creare la maschera di contrasto utilizzando questo tipo di sfocatura. Con Calcoli potremmo facilmente costruire un’azione che la generi.

D: La maschera di contrasto che abbiamo ottenuto è identica a quella che otterremmo con il filtro dedicato? Se sì, con quali parametri?
R: No, non è del tutto identica. Il canale che otteniamo, come già detto, non è neppure del tutto identico a quello che si otterrebbe utilizzando il filtro Accentua passaggio. Se vi interessa, potete simulare un filtro Accentua passaggio utilizzando Calcoli con il metodo di fusione Sottrai e i parametri Sposta = 128, Scala = 1. Se rivedete la discussione fatta poco fa sui casi più estremi di sottrazione vi renderete conto che almeno sulla carta questa formula non è ottimale. Quella che vi ho proposto è migliore. In ogni caso, il parametro rilevante è il raggio. Il risultato più vicino lo otterreste con un raggio pari a 2 px, sia nel filtro Accentua passaggio che nel filtro Maschera di contrasto.

D: Perché hai utilizzato il metodo di fusione Luce lineare per generare la maschera di contrasto?
R: Mi avvalgo della facoltà di non rispondere :-). Scherzi a parte, vorrei riprendere questo argomento nell’articolo in cui tratterò i metodi di fusione. La risposta sintetica è questa: si tratta di un metodo di fusione che ne combina altri due, in particolare Brucia lineare e Scherma lineare. Se considerate che Scherma lineare è a tutti gli effetti una somma, dovreste già intuire dove si vada a parare. Inoltre il metodo Luce lineare appartiene al gruppo dei metodi di contrasto, di cui fa parte anche Sovrapponi. I metodi di questo gruppo (tranne uno: Sovrapponi colori) sono caratterizzati dal fatto che qualsiasi pixel che corrisponda a un Grigio 50% non influenzerà il risultato e sarà “trasparente” nella fusione. Nella nostra maschera di contrasto i pixel al 50%, ovvero pari a 128R128G128B, sono quelli in cui il canale originale e il canale sfocato sono identici. Ovvero, dove NON vengono generati gli aloni chiari e scuri che sono alla base della maschera di contrasto stessa.

D: Sono interessato a capire meglio la natura della maschera di contrasto. C’è un articolo che io possa leggere?
R: Questa è la risposta più semplice di tutte. L’articolo che io consiglio è Nitidezza, contrasto e sharpening, di Davide Barranca. Che io sappia, non esiste al momento una risorsa in italiano che tratti in maniera così approfondita la natura della maschera di contrasto. Vi avverto: è una lettura solo apparentemente semplice. Sono solo tredici pagine, ma la densità di informazioni è formidabile. Tra l’altro, nell’articolo trovate una spiegazione di come funzioni la decomposizione piramidale gaussiana. Una derivazione diretta di questa è la maschera di contrasto basata sulla cosiddetta DoG, ovvero la Difference of Gaussians. In sostanza, è possibile basare la generazione della maschera di contrasto su funzioni che in Photoshop non sono disponibili: a meno che non generiamo noi ciò che ci serve con Calcoli. Alcune tecniche poco note ma eccezionalmente potenti, come il Texture Sharpening, sono accessibili se solo si va a scavare un po’ sotto la superficie dei filtri che esistono da anni e che spesso consideriamo come l’unica risorsa disponibile.

D: Vale la pena che io mi rompa la testa su questi argomenti complessi?
R: Dipende. Se lo scopo è semplicemente quello di ottenere dei risultati dignitosi, procedendo a volte per prova ed errore, no: sarebbe anacronistico affermare che Photoshop con i suoi strumenti più recenti non fa bene alcune cose che si realizzano con Calcoli a mano in maggior tempo. Ma certe cose davvero non si possono fare altrimenti, o perlomeno ogni alternativa è più lunga. In generale, imparare Calcoli significa capire la struttura dei canali (di TUTTI i canali, non solo quelli RGB) e come combinarli con i metodi di fusione per ottenere maschere e immagini derivate altrimenti al limite dell’impossibile. E chi non conosce i canali e i metodi di fusione dovrà sempre giocoforza affidarsi ad altri strumenti: che a volte funzionano bene, altre volte invece meno bene, e talvolta falliscono miseramente. Chi controlla i canali, controlla l’immagine. Sempre.

D: Questa roba è veramente interessante, ma io di solito lavoro in Lightroom. Esiste qualcosa di paragonabile nel programma che utilizzo?
R: Hmm. Non sono molto esperto di Lightroom… devo informarmi. Aspettate…

«David? Pronto! Scusa se ti disturbo, ma qui mi chiedono… sì, sempre relativamente a Calcoli… se c’è qualcosa di paragonabile in Lightroom… David, scusa, non ti arrabbiare… ah, sei a MIAMI? Perdonami… no, non ho capito… MIAMY? Non conosco questo posto… aspetta… ah, ecco… N-I-A-M-Y? Sì, con la “Y”… ma dove sta? Ah, è una sigla? Aspetta che scrivo… NEVER IN A MILLION YEARS… Ok, ok, grazie… capito… riferisco… grazie ancora…»

🙂

Alla prossima!
MO

 

 

24 pensieri su “On demand #1B: Il comando Calcoli – pt. 2”

  1. Fondamentale articolo per capire (finalmente davvero e del tutto…o quasi) la DoG del buon Barranca. Grazie 1000.

  2. Per fortuna avevo già letto l’interessante articolo di Davide Barranca al quale questo si collega strettamente. Questo tuo scritto mi aiuta a capire qualcosa in più.
    Un dubbio. Spero non dovuto all’orario. Spiegando come creare la maschera di contrasto dici che il fattore scala in quel caso è irrilevante in quanto comunque il risultato della divisione rimane zero. Ma non nei bordi, dove si creano gli aloni. All’aumentare della scala diminuisce la forza dell’alone. L’impressione che ho io è che scala possa essere usato come “fattore” mentre con sfocatura determiniamo il “raggio” della maschera.
    Grazie di nuovo. Anche a Fabrizio Bottaro che ti ha stimolato a scrivere l’articolo.

    1. Luca, credo che tu abbia interpretato correttamente ciò che ho scritto ma per sicurezza lo riscrivo qui:

      La cosa più interessante è ciò che accade quando andiamo a sottrarre dei pixel uguali tra i canali prescelti delle due sorgenti: qualsiasi sia il valore di questi pixel, la sottrazione ci dà 0. Il fattore Scala in questo caso è irrilevante, perché il risultato della divisione rimane 0, mentre Sposta fa risalire il valore a 128.

      Mi riferivo naturalmente soltanto ai punti in cui il canale originale e quello sfocato hanno lo stesso valore. Questo dipende dal raggio della sfocatura: se nell’immagine ci fosse, ad esempio, un’area uniforme di 50 x 50 px, una sfocatura di raggio 2 px non avrebbe alcun effetto all’interno di essa, e in quell’area (bordi esclusi) i due canali sarebbero uguali. La sottrazione di quei pixel darebbe quindi 0 e proprio per questo, in quei pixel, il fattore di scala non modifica nulla perché il risultato della divisione è comunque 0.

      È vero che all’aumentare della scala diminuisce la forza dell’alone; per contro, una scala più piccola genera aloni più forti. Con un piccolo problema che va considerato: supponiamo che i valori che io vado a dare siano Sposta = 128, Scala = 1 (ovvero la formula del filtro Accentua passaggio, in pratica). Nel testo ho scritto che questa combinazione è meno buona, in linea teorica, dell’altra (quella con Scala = 2). Il motivo è che nel primo caso estremo citato nel testo, quello in cui Sorgente 2 dovesse valere 255 e Sorgente 1 dovesse valere 0, il risultato della sottrazione sarebbe 255 e, non essendoci di fatto un fattore di scala, Sposta porterebbe il valore dell’operazione finale a 255 + 128 = 383: fuori range. In pratica, con questa formula si rimane nei limiti fino a che la sottrazione diretta vale al massimo 127. Sul versante opposto (secondo caso estremo) il risultato sarebbe -255 + 128 = -127: di nuovo fuori range. Quindi si rimane nei limiti fino a che la sottrazione diretta vale al massimo -128, perché questo darebbe 0. In pratica, verrebbero clippati in un senso o nell’altro tutti i valori in cui la sottrazione cadesse fuori dal range compreso tra -128 e 128.
      Questo problema è poco rilevante nel caso in cui si utilizzi un raggio di sfocatura piccolo, ma diventa importante nel momento in cui applichiamo una maschera HiRaLoAm. Puoi provare sull’immagine del pozzo, creando due canali (Alfa 1 e Alfa 2) partendo dal Rosso e da una sua copia a cui avrai applicato una sfocatura di 50 px. Si tratta di una sfocatura enorme su un file di queste dimensioni, ma puoi notare subito che mentre il metodo con Scala = 1 brucia alcune parti dell’immagine e ne chiude altre, questo non accade con Scala = 2. Luce lineare, il metodo di fusione che utilizziamo per applicare la maschera di contrasto, è piuttosto aggressivo; certamente è più aggressivo di Sovrapponi. Se anche ci limitiamo a fondere con quest’ultimo, è facile notare come alcune parti dell’immagine finale vengano bruciate quando usiamo la versione della maschera di contrasto prodotta con Scala = 1, mentre vengono preservate quando utilizziamo quella prodotta con Scala = 2. In questo senso certamente Scala è utilizzabile come una sorta di controllo di intensità, ma – pur senza sapere esattamente come è stato programmato il filtro Maschera di contrasto in Photoshop – sospetto che i fattori più grandi di 100% vengano in realtà ottenuti con applicazioni ripetute del livello di mascheratura, sempre in Luce lineare.

      “Tanta roba”, scrivevo, eh? 😉 L’argomento, a parte la complessità, è profondo. Ed è questo che a mio parere lo rende affascinante.

      1. Marco, grazie.
        Ho appena fatto la prova che mi hai suggerito. Ed è interessante. Ho riportato i canali ottenuti con scala 1 e scala 2 su due livelli separati e li ho confrontati con soglia. Con scala 1, come appunto dicevi, vanno in clipping sia le ombre sia le luci. Ma è curioso notare come all’occhio questo non sia percepibile e l’immagine appaia comunque piatta.
        Con scala 2 il range va da 44 a 224.
        Una riflessione. Nel tuo corso TIAB sullo sharpening insegni ad usare il filtro trova bordi per creare delle maschere che limitino gli effetti dello sharpening stesso in modo che venga applicato solo sui bordi, appunto. Un’alternativa, secondo te, potrebbe essere quella di utilizzare al posto di trova bordi i canali che si ottengono nel modo discusso in questo articolo? Ho provato e mi pare funzioni. Credo abbia il vantaggio di essere più flessibile.
        Un’ultima cosa. Trovo anch’io che l’argomento sia affascinante. Sarebbe una brutta idea lasciare la possibilità, in questi commenti, di segnalare e descrivere eventuali applicazioni pratiche interessanti di questo strumento?
        Grazie ancora. Ciao

        1. Il filtro Trova bordi in Photoshop si basa probabilmente sull’operatore di Sobel, che è uno degli algoritmi più diffusi. La cosa è discussa bene anche in vari libri (imprescindibili per chi studia queste cose a livello teorico) di John C. Russ. Ho trovato una parte rilevante di questo in un articolo che puoi leggere qui.
          Detto questo, le differenze tra canali opportunamente manipolati possono dare risultati molto simili e per certi versi anche migliori – il limite è solo la fantasia sulle possibili combinazioni, che sono virtualmente infinite se consideriamo i vari metodi di fusione, le opacità e le maschere.
          I commenti di questo blog sono naturalmente aperti a tutti, e credo che la tua sia un’ottima idea – quindi invito chiunque abbia qualcosa da dire sull’argomento a farsi avanti. Sarebbe interessante anche, tra un po’ di tempo, raccogliere in maniera sintetica idee vecchie e nuove sull’utilizzo dello strumento Calcoli; per antiquato che sia, offre una flessibilità che molti strumenti nuovi si sognano – letteralmente.

  3. Aloni chiari/aloni scuri.
    Quando si utilizzano le maschere di contrasto, spesso risulta utile diminuire la forza degli aloni chiari, in quanto, si è sempre detto, risultano più fastidiosi rispetto a quelli scuri. Facendo delle prove con calcoli per capire meglio come si crea una maschera di contrasto ho osservato una cosa che mi pare interessante. Ma prima forse è meglio che descriva quanto ho sperimentato. Su sfondo grigio medio L54 ho creato un quadrato chiaro L74. Ho duplicato il livello e sfocato di 10 px. Quindi, ho creato la maschera di contrasto con calcoli (sottrai, sposta 128 scala 1). Ho messo due campionatori colore con misurazione singolo px nelle zone di confine del bordo nitido, alla stessa distanza dal bordo, uno nella parte chiara e uno in quella scura. Sono andato quindi a fare la differenza tra i valori di origine e quelli della maschera per vedere la forza dell’alone. I due aloni non hanno la stessa forza. In particolare ho trovato un valore positivo di 13 (misura RGB) nella parte chiara e negativo di 22 nelle parti scure.
    Poi ho ripetuto lo stesso procedimento ma stavolta con un riquadro più scuro rispetto al grigio medio dello sfondo, L34. Questa volta sono gli aloni chiari ad essere più forti, con una differenza positiva di 22 contro una negativa di 12 degli aloni scuri.
    Ora, normalmente la maschera di contrasto si applica sulle aree meno luminose. E in queste zone gli aloni chiari (se il semplice esperimento che ho fatto non ha qualche falla) hanno una forza quasi doppia rispetto a quelli scuri. Può dunque essere questo il motivo per cui risulta fondamentale diminuire la forza degli aloni chiari? Voglio dire, non perché percettivamente siamo più sensibili agli aloni chiari, ma perché hanno in effetti, nelle aree scure, una forza maggiore?
    Ciao

    1. Cerco di rispondere appena posso, ma ho una domanda al volo: puoi darmi per cortesia i valori RGB esatti dei grigi che hai utilizzato? Visto che il grigio medio che corrisponde a 54L ne deduco che stai usando un profilo con gamma pari a 2.2 (sRGB o Adobe RGB, penso). Me lo puoi confermare? Grazie!

      1. Sì, il file è sRGB. Ho fatto la prova con un duplicato dell’immagine del pozzo che ho scaricato dal tuo articolo. L’ho riempita di grigio medio,128 nei tre canali. Il riquadro grigio chiaro è 182 nei tre canali; quello grigio scuro 80. La sfocatura di 10px. I campionatori sono posizionati a 2px dal bordo.
        Grazie a te.

        1. Premetto che questo problema è davvero spinoso e non ho risposte sicure da darti… anzi, a dire il vero quello che scrivo potrebbe anche essere in parte errato. Ma d’altronde la scienza procede per tentativi, quindi… 🙂
          Il problema che vedo è principalmente questo: quando si cerca di fare un esperimento scientifico (e questo lo è, perché prevede delle misurazioni puntuali e ripetibili) è importante isolare le variabili. Apparentemente qui è tutto molto ben definito, ma ci sono delle variabili nascoste, che riassumerei in questo: se vogliamo misurare quanto gli aloni chiari sono più forti di quelli scuri, dobbiamo prescindere dagli aspetti puramente percettivi. Questo però non possiamo farlo, perché la luminosità in RGB non è uniforme dal punto di vista percettivo. In pratica, una variazione – per dire – di 10 unità nelle ombre non è necessariamente uguale, in termini di luminosità effettiva, a una variazione di altrettante unità nelle luci. Quanto sia pronunciato questo effetto non lo so; o, meglio, non sono in grado di definirlo quantitativamente.
          A monte, un piccolo problema. Giustamente il valore di riferimento è il grigio al 50% di RGB, ovvero 128 in tutti i canali. Il tuo riquadro scuro vale 182 in tutti i canali, per cui siamo 54 punti sopra; quello scuro vale 80 in tutti i canali, per cui siamo 48 punti sotto. Questi due valori, quindi, sono asimmetrici rispetto al punto centrale di riferimento, che è 128. Questo può influenzare parecchio la sfocatura, in quanto una sfocatura gaussiana altro non è che una media pesata di un certo numero di pixel che si trovano attorno al pixel in esame. Qui si entra in un vespaio micidiale, ma lo scorso anno ho fatto un po’ di esperimenti e ho concluso questo, con ragionevole certezza.
          1) Controllo sfocatura in Photoshop non produce una vera sfocatura gaussiana ma un’approssimazione peraltro molto buona. Questo si deduce dal fatto che la sfocatura non dipende in maniera orribile dal raggio, e il calcolo è sempre piuttosto veloce. Una vera sfocatura gaussiana richiederebbe molte più somme e il tempo esploderebbe a raggi elevati.
          2) Sospetto che l’approssimazione consista in questo: un certo numero di convoluzioni successive con un nucleo di sfocatura che non è a campana, come quello gaussiano, ma rettangolare. Questo perché l’algoritmo canonico per il calcolo della sfocatura rettangolare è disarmantemente semplice: si produce un’immagine virtuale (che non viene vista) in cui ogni pixel è una complessa combinazione dei pixel che lo circondano. Quanti, dipende dalla posizione del pixel nell’immagine. Se si lavora su questa matrice, qualsiasi sfocatura rettangolare di qualsiasi raggio si può calcolare con solo quattro somme, e questo è un sottoprodotto secondario di una formula di calcolo integrale (pazzesco, lo so – ma è così). In pratica, si fa il lavoro sporco prima e si guadagna parecchio poi. Il numero di sfocature rettangolari successive approssima decentemente una distribuzione gaussiana, in base a un teorema che prende il nome di teorema del limite centrale. Il numero di sfocature a mio parere è di tre o quattro, il che significherebbe dodici o sedici operazioni per ogni pixel.
          3) Il problema è che questi calcoli portano i numeri interi, che normalmente sono compresi tra 0 e 255, fuori range, e la codifica a 8 bit per canale non basta più. Questo a priori non è un problema, ma implica che poi, quando si torna indietro e si produce l’immagine, bisogna per forza fare delle approssimazioni nella conversione. In questo senso, discrepanze di 1 o 2 unità nei pixel risultanti sono probabili, più che possibili.
          Tutto questo discorso per dire che ciò che vediamo è chiaro ma non perfettamente definito. E rimane il problema di capire se la discrepanza che rilevi (l’ho rilevata anch’io) possa avere un impatto percettivo, e di quale entità.
          Se vogliamo semplicemente fare un modello fenomenologico, possiamo dire questo: il nostro sistema visivo è più sensibile al contrasto e meno sensibile al colore nelle aree scure; e viceversa in quelle chiare. Da questo punto di vista ci aspettiamo di vedere di più piccoli aloni chiari su un fondo scuro di quanto non vediamo piccoli aloni scuri su un fondo chiaro. Questo è uno dei motivi principali per cui cerchiamo di restringere la maschera di contrasto alle ombre (lì è più rilevante) e contemporaneamente riduciamo in media gli aloni chiari più di quelli scuri.
          Questa è, in buona sostanza, la ragione per cui la famosa “mazzetta” di Davide Barranca funziona un numero ragionevole di volte. Ma attenzione, la cosa è fortemente image-dependent. Nel corso avanzato con Dan Margulis abbiamo esaminato un’immagine in cui la presenza degli aloni scuri era quasi insopportabile, ed era necessario favorire quelli chiari. Perché? Non è ovvio dirlo, ma è così.
          Mi riserverei di approfondire con calma il discorso dei numeri che hai trovato, magari con una scelta più simmetrica delle tonalità di grigio che hai esaminato e se possibile facendo il calcolo esplicito dei valori con un modello semplificato (anche una singola sfocatura a nucleo rettangolare, il famoso “box blur” dovrebbe dare dei risultati). Per intanto grazie dell’ottimo input. E, ribadisco, mi piacerebbe avere un feedback da Davide stesso su questi argomenti.

          1. Marco, hai trovato la falla :-). La falla è proprio l’assimmetria rispetto ai valori medi. Ero partito con le buone intenzioni ma avevo regolato i valori in Lab: 34, 54, 74. Inizialmente stavo solo cercando di capire il funzionamento di calcoli con sottrai. Poi, facendo le sottrazioni in RGB mi sono accorto che la simmetria in Lab non si riporta in RGB. Ma non pensavo fosse così importante, mi pareva più significativa la l’inversione di forza degli aloni chiari e scuri nelle diverse aree di luminosità. Invece la mancata simmetria in RGB è più che significativa. Ho rifatto ora la prova con un riquadro 178 nei tre canali e uno 78. Stavolta simmetrici. La differenza nella forza degli aloni è ora trascurabile: con il riquadro chiaro ho +19 per gli aloni chiari e -24 per quelli scuri; con il riquadro scuro ho +23 e -19.
            Grazie dell’attenzione e scusa se ti ho fatto perdere tempo. Magari per questo non c’è bisogno che si scomodi DB :-). Magari per l’altro quesito, se non ci imprecisioni.
            Ciao

          2. Mah, non so se la falla è quella che ho indicato sotto. Ho provato e riprovato, a diversi valori di luminosità e con diversi contrasti. La differenza di forza tra aloni chiari e aloni scuri è sempre poco significativa, attorno al 10%. La forza degli aloni è proporzionale al contrasto tra le aree, ma ha circa lo stesso peso negli aloni chiari e in quelli scuri. E anche ripetendo la prova di ieri non ho ottenuto gli stessi risultati. Direi che questa esperinza è da archiviare tra gli errori banali, anche se non so quale sia. Sta di fatto che non ritrovo più gli stessi risultati. Mi spiace solo di averti fatto perdere tempo.

          3. Non contento, ho fatto altre prove con i seguenti risultati:
            1) È indifferente se in calcoli seleziono il canale rosso, verde, o blu: ottengo lo stesso risultato;
            2) In questi casi, la forza degli aloni dipende solo dal contrasto tra le aree, ed è indifferente se tale contrasto si colloca nei toni bassi (ho provato con 15-55 e 30-70) o nei toni alti (ho provato con 185-225 e 200-240); in questi casi gli aloni chiari hanno valori positivi tra +16 e +18, quelli scuri negativi tra -16 e -18. Se aumento il contrasto, ad esempio 30-225 ottengo aloni chiari a +90 e scuri a – 75;
            3) Se in calcoli seleziono il canale grigio, le cose cambiano parecchio;
            4) Il primo cambiamento è che i risultati che si ottengono sono diversi rispetto ai risultati con gli altri canali;
            5) Il secondo cambiamento è che la forza degli aloni cambia in funzione alle aree di luminosità dove è collocato il contrasto: ad esempio, con contrasto 30-70 ho aloni +11 e -11; con contrasto 185-225 ottengo aloni +24 e -21;
            6) Terzo cambiamento, all’aumentare del contrasto varia la differenza di forza ttra aloni chiari e scuri: con contrasto 30-225 ho aloni positivi a+111 e negativi a -56.

            Lo cose sono cioè molto più complicate di quanto potessi pensare.
            Per staccare ho quindi aperto un file bianco in photoshop e ho riempito lo schermo. Ho impostato bianco e nero come colori di primo piano e sfondo, ho selezionato lo strumento sfumatura lineare e ho tracciato un breve tratto orizzontale al centro dello schermo; per ammirare gli aloni chiari e gli aloni scuri che il cervello crea. È incredibile, in particolare l’alone chiaro, sembra un valore più alto del bianco che lo delimita. Ma il bianco che lo delimita è a 255! Sono le bande di Mach. E sono il motivo per cui mi affascinano le maschere di contrasto: cercano di dare ai bordi la stessa importanza che gli dà il nostro cervello.

  4. Aloni chiari/aloni scuri 2.
    Marco, sempre per cercare di capire bene come si crea la maschera di contrasto, ho fatto la prova che vado a descrivere sinteticamente.
    1) Ho usato l’immagine della prima parte di questo articolo, le statue con il cielo come sfondo;
    2) Ho duplicato lo sfondo e l’ho sfocato (ho fatto la prova sia con raggio piccolo sia con raggio grande)
    3) Con calcoli e usando il canale grigio ho sottratto il livello sfocato allo sfondo, sposta 128 e scala 1 e ho creato il canale che mi serviva;
    4) Ho eliminato il livello sfocato e creato un nuovo livello di regolazione curve;
    5) Alla maschera di livello delle curve ho applicato il canale creato con calcoli;
    6) Ho nominato questo livello aloni scuri;
    7) Ho duplicato il livello e rinominato aloni chiari;
    8) Ho poi usato il metodo che ho imparato da te per isolare glia aloni chiari in una maschera e quelli scuri nell’altra (riempi, grigio 50%, schiarisci -per gli aloni chiari- scurisci -per gli aloni scuri-, tono automatico. Ho invertito la maschera per gli aloni scuri).
    9) Agendo con le curve ho riprodotto l’effetto della maschera di contrasto.

    Penso che mi sia servito essenzialmente per capire meglio. Ma poi mi è venuta un’idea: se io metto le due curve in luminosità, posso scegliere quale canale curvare. E, ad esempio, in questo caso, se nella curva aloni scuri curvo il rosso (che ha il cielo più scuro), non creo i fastidiosi aloni nel cielo. Ok, si possono eliminare anche nel modo normale. Ma forse ci sono delle possibilità che ora non mi vengono in mente.
    Ciao

    1. Grazie Luca, appena ho un attimo di calma ci ragiono. Mi piacerebbe sentire il parere di Davide Barranca su questi argomenti – la vera autorità sullo sharpening è lui, perlomeno rispetto a me. Gli segnalo le tue osservazioni, magari.

    1. Grazie Fabrizio. Tutto nasce dalla tua richiesta a Marco Olivotto. Ma al di là di questo, la cosa che trovo interessante di questi scambi la riassumerei, citando niente meno che Popper, in due parole: Congetture e Confutazioni.
      Io ho avuto un’idea, mi è parsa interessante e ci ho ragionato sopra. Ma in realtà non so né se é originale, né se è davvero interessante, né se nel mio ragionamento ci sono delle falle che non ho visto. Potere quindi scrivere le mie considerazioni in uno spazio come questo, dove altri con una visione d’insieme più ampia della mia possono leggerle e criticarle, io la considero una bella opportunità.
      Per cui è d’obbligo, di nuovo, un ringraziamento a Marco OLivotto.
      Ciao

  5. Intanto complimenti a Marco: che sta metodicamente fondando le basi di una documentazione unica in Italia (e, temo, non solo…) e che cita il qui presente vecchio amico con ammirevole costanza – nonostante io mi sia dato alla macchia, pubblicamente parlando, da un po’ di tempo a questa parte 🙂

    Venendo alle ottime prove di Luca: aloni chiari / aloni scuri 2 è sicuramente da indagare, mi è piaciuta l’idea della Luminosità curvando i canali opportuni. Prova a generare le maschere di livello come fa Margulis nell’azione sharpening del PPW – personalmente se posso evitare Auto-Levels sono sempre più contento. In pratica lui fa la gaussiana, la mette in schiarisci, fonde sopra e fa la differenza tra quello e l’originale (offset 0, scala 1), poi ripete con scurisci per l’altra maschera.

    Caso vuole che io stia lavorando proprio in queste settimane ad un’estensione per PS che separa gli aloni chiari da quelli scuri nella USM. Si basa però (per ragioni di aggiornamento in tempo quasi-reale dell’effetto) su un setup un po’ più complicato di livelli, che includono degli smart objects. Luca, se mi fai avere la tua email ti metto volentieri tra i betatester (ti ho mandato ora una richiesta su FB).

    1. Grazie Davide. Proverò quanto mi suggerisci. Anche perché le prove che ho fatto su immagini più complesse della prima non mi hanno soddisfatto.
      Riguardo alla documentazione che sta producendo Marco Olivotto, concordo: è ammirevole. Spero in futuro di poter leggere anche qualche tuo nuovo articolo.
      Per quanto riguarda la mia email, te l’ho già inviata. Per me è un onore.
      Grazie per l’attenzione, ciao.

      1. Solo due righe – mi scuso, Luca, perché avevo in mente di fare un po’ di prove con l’idea #2 sugli aloni chiari e scuri, ma non ce l’ho proprio fatta: piccolo problema di salute in casa, nulla di troppo serio ma è una cosa che assorbe il tempo come una spugna. Per circa una settimana avrò molto poco tempo da dedicare a queste cose, ma prometto che mi farò vivo subito dopo. Grazie per la pazienza!

        1. Marco, in bocca al lupo per il problema di salute che mi auguro si risolva presto.
          Per quanto riguarda l’idea aloni chiari/aloni scuri 2, l’ho provata su immagini più complesse di quella delle statue con il cielo blu come sfondo. I risultati non sono incoraggianti.
          Grazie per tutto quello che fai.

      2. Ho provato il metodo suggerito da Davide. La maschera che si ottiene è un po’ meno contrastata (le parti chiare sono un po’ più dense) e quindi l’effetto appare più naturale; ma anche più debole. Se raddoppio la curva per rafforzare l’effetto, il risultato è analogo a quanto sperimentato con la tecnica precedente. Ma per vedere un risultato davvero buono ho messo all’opera Alce :-). Che ora apprezzo anche di più.

  6. In parte non vorrei commentare…un commento, anche s’è per complimentarmi, in questo contesto ( con le prove di Luca, le domande di Fabrizio, la spiegazione di Marco ed il botta risposta nei commenti ) mi sembra che possa “rovinare” l’atmosfera creatasi.

    Ma dall’altra parte reputo corretto e giusto dare a Cesare quel che è di Cesare. Complimenti e grazie.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *