Come rimuovere un pattern da una fotografia

Nella storia della fotografia c’è stato un periodo durante il quale si usava stampare su una carta particolare che mostrava inciso un fitto reticolo ricordante le cellette degli alveari.
Non so quale fosse il senso di questa cosa. Probabilmente era un modo per dare l’illusione di una maggior nitidezza di quanto non permettesse l’emulsione di quei tempi. Fatto sta che oggi quelle vecchie foto sono la bestia nera di quanti vorrebbero scannerizzarle per metterle in un album digitale. I vari filtri in dotazione a Photoshop comportano una fatica immensa e sostanzialmente non danno risultati soddisfacenti.
Problema analogo lo mostrano quelle immagini, prese da riviste o giornali, in cui è evidente il retino tipografico.

Personalmente non amo molto utilizzare i plugin, ma in questo caso la scelta è obbligata se vogliamo un risultato decente con pochissima fatica.
Alex V. Chirokov ha infatti creato un plugin per Photoshop che risolve il nostro problema. In internet esistono ormai diverse versioni ed è difficile districarsi nel trovare quella giusta o più recente, per questo ho pensato bene di mettere a disposizione quelle che utilizzo io. Parlo al plurale perché io uso sia la versione a 32bit che quella a 64bit, che ho messo in un unico file compresso, liberamente scaricabile, a questo indirizzo: http://www.brunoberti.it/utilities/FFT.rar

Per installare il plugin, dopo averlo scaricato e decompresso, se avete la versione a 32bit di Photoshop è sufficiente copiare i due file che si trovano nella cartella x86 nella cartella Plug-ins di Photoshop e avviare il programma. Se invece avete la versione a 64bit i file li trovate nella cartella x64; in questo caso dovete copiare nella cartella Plug-ins di Photoshop i due file che terminano con .8bf, mentre il file che termina con .dll dovete copiarlo nella cartella principale di Photoshop (la stessa dove è presente l’eseguibile photoshop.exe per capirci).
Per verificare la corretta installazione lanciate Photoshop e verificate che nel menu dei Filtri appaia anche la voce Fourier Transform (poi parleremo di questo nome astruso).

Per mostrare l’uso del plugin utilizzerò l’immagine seguente.

fotografia originale

fotografia originale

Qui si vede bene ciò che intendevo all’inizio. Non solo la fotografia mostra un pattern a cellette riconoscibilissimo, ma mostra anche segni di degrado la cui correzione sarebbe praticamente impossibile in presenza del pattern stesso.

Prima di procedere dobbiamo considerare tre cose.

  1. La prima è che il plugin lavora esclusivamente su immagini RGB (verificare quindi alla voce di menu Immagine->Metodo e, se il caso, provvedere alla corretta impostazione).
  2. La seconda è che il plugin darà un risultato in bianco e nero (questo nella maggior parte dei casi non è un problema perché queste vecchie fotografie sono quasi sempre in bianco e nero, ma qualcuna no, come nel mio esempio). Risolveremo questo inconveniente alla fine, nel frattempo facciamo una copia della nostra fotografia (menu Immagine->Duplica…).
  3. La terza infine è che il plugin lavora sul solo livello di background o Sfondo, quindi se ci sono più livelli o anche se ce ne è uno solo ma flottante, va tutto riportato allo stato di Sfondo (menu Livello->Unico Livello).

Una volta che tutto è a posto con le impostazioni, passiamo senz’altro al menu Filtro->Fourier Transform->FFT RGB… (da non confondere con IFFT RGB… con la “i” iniziale)

Filtro FFT

Filtro FFT

Questa orrida immagine è il risultato dell’applicazione di una procedura matematica chiamata Trasformata di Fourier (Fourier Transform) nella sua variante “veloce” (Fast in inglese, da cui il nome del filtro FFT – Fast Fourier Transform). Il suo compito non è di mostrarci una bella immagine, ma, nel nostro caso, la distribuzione delle ricorrenze dei dati che formano la foto (chiedo scusa ai matematici per l’eccessiva semplificazione – per quanti volessero approfondire c’è sempre Wikipedia). Naturalmente messa così non ci aiuta molto, ma se passiamo alla scheda dei canali e scegliamo il solo canale del Rosso (nella versione a 32bit sarà invece il canale del Verde)  avremo qualcosa di più significativo.

FFT - Canale del Rosso (nella versione a 32bit è il canale del Verde)

FFT – Canale del Rosso (nella versione a 32bit è il canale del Verde)

Tutte quelle stelline che appaiono sono causate dal nostro pattern! Basta eliminarle ed il gioco è fatto… quasi 😉 . Utilizzando un pennello sfumato ed un colore grigio scuro dobbiamo coprirle una ad una. MA NON DOBBIAMO ASSOLUTAMENTE TOCCARE L’AREA CENTRALE DELL’IMMAGINE! Anzi, più ne stiamo lontani e meglio è. Se c’è qualche stellina vicina al centro andiamoci con un pennello piccolo e con attenzione.
Dovremmo ottenere una cosa del genere.

FFT - canale del Rosso corretto

FFT – canale del Rosso corretto

A questo punto torniamo sul canale RGB e ritroveremo più o meno la stessa brutta immagine di prima. 😦
Andiamo sul menu Filtro->Fourier Transform->IFFT RGB… (con la “i” iniziale questa volta) e voilà. 🙂

Filtro IFFT

Filtro IFFT

Come si vede la fotografia ha bisogno di un pesante restauro, non per colpa del plugin, ma per degrado originale della foto. Ora però è possibile intervenire con buone possibilità di successo. Farlo prima sarebbe stato velleitario.

Un uso troppo disinvolto del plugin può introdurre artefatti fastidiosi; il mio consiglio è di procedere per gradi cominciando a correggere i punti più evidenti, applicare il filtro IFFT per vedere il risultato ed eventualmente tornare indietro e modificare o aggiungere le correzioni, fino ad un compromesso accettabile. Come si nota, nel mio esempio qualche artefatto è presente ai bordi; niente che non si possa correggere con il timbro clone senza martoriare ulteriormente l’immagine col filtro FFT.

A questo punto il lavoro del plugin è terminato e, come avevo preannunciato, l’immagine risultante ha perso il colore.
Prima di procedere chiariamo ancora alcune cose.
Il termine IFFT, che dà il nome al secondo filtro che abbiamo usato, è l’acronimo di Inverse Fast Fourier Transform; in pratica, per riottenere la nostra immagine abbiamo applicato la procedura inversa a quella iniziale dopo aver effettuata la correzione.
Il colore si è perso perché la procedura lavora esclusivamente sulla tonalità  che è uno dei parametri del colore (l’altro è la saturazione, che viene scartata nella procedura). Questo dettaglio ci è utile per capire il senso del successivo passo.

Per ridare il colore originale alla nostra fotografia consideriamo il fatto che, come detto, il plugin, lavorando solo sulla tonalità, perde le informazioni complessive del colore. Di fatto ciò che resta è solo la rappresentazione della luminosità. La luminosità infatti è utilizzata in relazione al cosiddetto spazio dei colori dove rappresenta una delle coordinate, essendo le altre la tonalità e la saturazione che sono espressione del colore. Venendo a mancare il colore ciò che resta è la luminosità. (*)

Su Photoshop è prevista una modalità che tratta separatamente la luminosità dai colori. Si tratta della modalità Lab (menu Immagine->Metodo->Colore Lab).
Applichiamo quindi la modalità Lab ad entrambi i documenti aperti in Photoshop; sia questo, che abbiamo appena corretto, che l’originale duplicato all’inizio.
Nel documento su cui stiamo lavorando passiamo alla scheda dei canali, selezioniamo il canale Luminosità e lo copiamo in memoria (Ctrl-A e Ctrl-C).
Nella copia del documento originale (quella a colori con ancora il pattern) andiamo nella scheda dei canali, selezioniamo anche qui il canale Luminosità e stavolta incolliamo (Ctrl-V).
In pratica non abbiamo fatto altro che sostituire il canale della luminosità del documento originale con quello del documento corretto, senza coinvolgere i colori che sono regolati dai canali a e b. Riselezionando il canale Lab su quest’ultimo documento otterremo la nostra immagine a colori depurata del pattern.

Risultato finale

Risultato finale

C’è da dire che questa tecnica funziona perfettamente in presenza di un pattern tonale come quello della carta delle vecchie fotografie. In presenza di retino tipografico, dove il pattern è invece di tipo cromatico, le cose non sono così semplici e bisogna intervenire anche con filtri di riduzione del rumore lavorando sui canali a e b.

Per quanti fossero interessati al recupero di vecchie fotografie danneggiate rimando al mio precedente post Come eliminare graffi e polvere dalle fotografie

Buon divertimento 🙂

(*) Ringrazio Gabriele-TheClue per avermi segnalato un errore marchiano in questa sezione 🙂

19 thoughts on “Come rimuovere un pattern da una fotografia

  1. Tecnica spettacolare! Avevo il sentore che il millepunti si potesse togliere con la FFT, ma non avevo idea di come provarla. Funziona BENISSIMO!

    PS Non è che quando parli di colore Lab, quando parli di Tonalità intendi il canale della Luminosità? Visto il modo in cui il retino è prodotto (ombra dallo scanner), immagino che il pattern si sviluppi sul canale L…

  2. Buongiorno,
    ho installato il plug in, quando passo al menu Filtro->Fourier Transform->FFT photoshop si blocca, non risponde più e lo devo chiudere.

    • Il plugin funziona anche con l’ultimissima versione di Photoshop (2014). Il problema potrebbe essere causato da una versione errata del plugin rispetto a quella di Photoshop. Verifica che siano entrambi a 32bit o a 64bit.
      Oppure il download del file compresso potrebbe non essere stato completato correttamente. Prova a riscaricarlo.

  3. Grazie di cuore.
    Ho risolto un problema per me impossibile.
    Quando ho visto il risultato non riuscivo a credere ai miei occhi.
    Complimenti davvero per la bravura.

  4. Buongiorno,
    ho provato il plug-in, ho seguito le tue istruzioni alla lettera e sembra tutto installato correttamente e funzionante ma dopo aver applicato il filtro IFFT la foto diventa simile ad un negativo fotografico.. sai per caso come risolvere?
    Grazie e complimenti per il tuo articolo!
    Alessandro

    • Grazie a te. Purtroppo è una situazione che può capitare in certe situazioni. Credo che sia imputabile principalmente ad una manipolazione dell’immagine originale (ridimensionamento, leggera rotazione o salvataggio del jpg con un fattore di compressione troppo spinto).
      L’unico suggerimento che posso darti è provare con passi progressivi per vedere fin dove ti puoi spingere prima di avere il degrado. Prova in ogni caso ad intervenire con un pennello piccolo, concentrandoti esclusivamente sui punti che presentano un’evidente simmetria su tutti i quadranti, ignorando gli altri.
      Fammi sapere se risolvi. 🙂

      • Grazie mille della tua risposta, ho fatto tantissimi tentativi, (ho persino reinstallato un’altra versione di photoshop!) mi sono accorto persino che se applico il filtro IFFT senza fare modifiche, il risultato è sempre un “negativo” fotografico!
        Il problema, come mi dicevi, sarà legato al fattore di compressione del jpg, purtroppo non ho più l’originale e non posso scansionarla nuovamente…AAAAHHHH!!!
        Grazie mille lo stesso dei tuoi preziosi consigli!
        Alessandro

        • Nel frattempo io mi sono studiato un po’ il problema con una immagine trovata su internet che presentava la tua situazione. Alla fine sono riuscito a trovare una procedura che sembra dare buoni risultati, ma che non posso utilizzare ancora per aggiornare il post perché, per essere sicuro, ho bisogno di verificarla su più fotografie. Comunque puoi provare in questo modo: prima di applicare il filtro IFFT, nella scheda dei Livelli blocca i pixel trasparenti (quadratino con scacchiera); il risultato dovrebbe essere una immagine corretta ma un po’ sbiadita. Per recuperarla completamente usa poi il controllo di tono. Il resto come già scritto.

          • Grazie mille, se vuoi che ti sottoponga il mio “osso duro”, te lo invio volentieri, basta che mi dai un’indirizzo mail!
            Spero domani di riuscire a fare un pò di prove con questo nuovo sistema!
            Grazie ancora!
            Alessandro

          • Buongiorno,

            anche a me su una un’immagine in TIFF mi da il risultato in negativo…
            Avevi trovato qualche altra soluzione? il sistema “blocca pixer trasparenti” non mi da risultati diversi.

            Grazie

            Nicola

            • Ciao Nicola, non ho più avuto modo di approfondire ulteriormente la cosa. Posso però precisare un aspetto che non avevo notato: nelle prove da me fatte il negativo (che poi sarebbe in realtà una trasparenza parziale) accade a volte se l’immagine è su un livello invece che in background e quando ho detto, nel commento precedente, di bloccare i pixel trasparenti, non mi sono accorto che questa è un’operazione (pur avendomi sempre risolto) che si può fare solo su un livello. Infatti sul background non è attiva, ne’ attivabile.
              Posso quindi solo ribadire quanto già scritto nel post: a scanso di sorprese convertire sempre l’immagine a un unico livello di background.
              Il fatto che tu abbia bloccato i pixel trasparenti (pur senza risolvere) significa che stavi lavorando su un livello e non sul background, altrimenti non ci saresti riuscito.

    • Non conosco il mondo mac, ma sicuramente la versione a 64bit, che si appoggia ad una libreria windows, non funziona (a meno di non farla girare su un emulatore windows) e temo valga anche per quella a 32bit.
      Il filtro è stato sviluppato 10 anni fa, quindi dovrebbe funzionare su tutte le versioni di photoshop oggi in uso.

  5. Fantastico questo plug in, prima usavo la sovrapposizione dei livelli ma non dava assolutamente questo risultato. Grazie mille! L’unica cosa che non capisco è che dopo utilizzato il plug in, risultano disattivati filtri come camera raw che uso molto per la correzione delle foto

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...