Nella grafica 3D, modificare la texture di un oggetto è un'operazione relativamente comune, nonché abbastanza semplice grazie ai moderni software di modellazione grafica. In alcune situazioni, però, possiamo avere la necessità di modificare la texture di un'immagine bidimensionale. Questo tipo di operazione è meno immediata di quanto possa sembrare, perché spesso gli effetti di luci e ombre presenti complicano le operazioni.
Supponiamo, ad esempio, di avere a disposizione l'immagine seguente:
Come si vede, vi è rappresentato un muro di mattoni con alcuni effetti di luce. In questo tutorial vedremo come utilizzare le funzionalità di Adobe Photoshop per modificare la texture dello scatto, pur mantenendo ombre e luci. Il risultato ottenuto sarà simile al seguente:
Separare le frequenze: concetti teorici
Discutere la teoria che sta alla base delle operazioni del tutorial è irrilevante ai nostri scopi, eccezion fatta per il concetto di frequenze spaziali di un'immagine. Nell'elaborazione delle fotografie digitali, questa nomenclatura ha un significato molto vasto, ma la utilizzeremo per riferirci a due elementi della composizione:
- i dettagli dell'immagine, che corrispondono alle alte frequenze spaziali;
- gli altri elementi, esclusi i dettagli, che rientrano tra le basse frequenze spaziali.
L'operazione fondamentale che impareremo a effettuare con gli strumenti di Photoshop prende il nome di separazione delle frequenze, proprio perché con questa tecnica saremo in grado di separare i dettagli dal resto dell'immagine. Dal momento che la texture che vogliamo modificare consiste proprio nei dettagli della composizione, separare le frequenze significa anche riuscire a estrarre tale texture dall'immagine su cui è applicata.
Per capire meglio il prodotto di questa operazione, di seguito sono mostrate due alternative: la prima rappresenta le alte frequenze dell'immagine (i dettagli), mentre la seconda contiene le sole ombre e gli effetti di luce (le basse frequenze).
La separazione delle frequenze con Photoshop
Innanzitutto dobbiamo imparare a effettuare la separazione delle frequenze con Adobe Photoshop. Ci baseremo sulla versione CS6, ma il procedimento è analogo anche per le successive edizioni. In ogni caso, utilizzeremo principalmente tre funzionalità del software: il filtro Sfocatura Gaussiana, la funzione Applica Immagine e il metodo di fusione Luce Lineare.
Supponiamo di volere separare le frequenze dell'immagine del muro di mattoni in Figura 1. Il primo passo da fare è duplicare due volte lo sfondo: i due livelli ottenuti possiamo chiamarli High Freq e Low Freq, dal momento che, alla fine di questo procedimento, conterranno rispettivamente le alte e le basse frequenze spaziali dello scatto. Fatto ciò, nascondiamo momentaneamente il livello High Freq e lavoriamo su quello chiamato Low Freq.
A questo punto applichiamo il filtro di Sfocatura Gaussiana - tramite il menu Filtro > Sfocatura > Campo Sfoca - e scegliamo un raggio che sia appena sufficiente a rimuovere la texture. Ciò significa che non dobbiamo scegliere un raggio troppo elevato, altrimenti si perderanno gli effetti di luce data l'eccessiva sfocatura, né uno troppo ridotto poiché impedirebbe la rimozione dei dettagli. Al termine otterremo un risultato simile alla Figura 4, rappresentante le basse frequenze spaziali dello scatto.
Per ottenere le alte frequenze, rendiamo nuovamente visibile il livello che avevamo chiamato High Freq, selezioniamolo e posizioniamoci sul menu Immagine > Applica Immagine. Dovremo ora impostare dei parametri in modo opportuno, dipendenti dal numero di bit per pixel utilizzati:
- se stiamo lavorando a 8-bit, scegliamo come metodo di fusione Sottrai, impostiamo la voce Sposta a 128 e lasciamo la checkbox Inverti deselezionata. Il risultato è mostrato in Figura 6;
- se stiamo lavorando a 16-bit, scegliamo come metodo di fusione Aggiungi, impostiamo la voce Sposta a 0 e selezioniamo la checkbox Inverti.
In entrambi i casi, impostiamo la Scala a 2, l'Opacità al 100%, il Canale a RGB e, fatto più importante, alla voce Livello specifichiamo Low freq. Clicchiamo quindi sul pulsante Ok: otterremo un'immagine molto simile alla Figura 2, ovvero le alte frequenze.
Le due immagini così ottenute possono ora essere ricombinate per ottenere nuovamente l'originale. Chiaramente, questa operazione è fine a sé stessa, ma ci aiuta a verificare che il procedimento di separazione delle frequenze sia stato effettuato correttamente. Mantenendo lo stesso ordine dei livelli sfruttato finora, selezioniamo High Freq e applichiamo il metodo di fusione Luce Lineare. Se abbiamo effettuato tutto correttamente, il risultato sarà esattamente identico all'originale.
A questo punto non resta che sfruttare la separazione delle frequenze spaziali per modificare la texture. Vediamo come.
Modificare la texture
Il procedimento che ci consentirà di modificare la texture si basa interamente sulla separazione delle frequenze spaziali, spiegate poc'anzi. In sostanza, possiamo suddividerlo in tre step:
- estrazione delle alte frequenze dall'immagine della texture;
- estrazione delle basse frequenze dall'immagine originale;
- combinazione di alte e basse frequenze.
Immaginiamo di volere rimuovere la texture dei mattoni in Figura 1, volendola sostituire con quella della fotografia seguente:
Per semplicità, l'immagine della texture e quella originale sono di dimensioni uguali, ma il metodo può essere facilmente adattato anche a situazioni che non godono di questa proprietà. Il primo passo, quindi, è ottenere le alte frequenze della texture ripetendo il procedimento già visto: sfochiamo lo scatto e applichiamolo a quello originale. Il risultato è mostrato in Figura 9.
A questo punto, dobbiamo ottenere le basse frequenze della composizione originale. Dal momento che non abbiamo bisogno delle alte, l'operazione si traduce semplicemente in una Sfocatura Gaussiana: produrrà il risultato già illustrato in Figura 4. L'ultimo passaggio è quello decisivo, che ci consente di combinare le due immagini appena ottenute. Per farlo, utilizziamo come livello di sfondo le basse frequenze dell'originale e, sopra questo, inseriamo quello delle alte frequenze. Infine, applichiamo a quest'ultimo il metodo di fusione Luce Lineare.
Il risultato ottenuto sarà simile a quello già visto in Figura 2, con la completa sostituzione della texture.
Naturalmente, il metodo può essere applicato a composizioni più complesse. Possiamo estrarre una texture anche da immagini che includono ombre e luci globali che non ci interessano, dal momento che tali effetti non faranno parte delle alte frequenze. Possiamo anche agire direttamente sulle frequenze stesse, per correggere eventuali imprecisioni.
Un ulteriore esempio, realizzato con il metodo fin qui descritto, è il seguente: