Rendere trasparente lo sfondo di un'immagine in Gimp


303

Ho alcune immagini jpg e ho bisogno che ognuna di esse abbia uno sfondo trasparente.

Ho GIMP come strumento grafico.

Devo inserirli in una pagina Web e ho bisogno di vedere solo l'elemento principale e avere uno sfondo trasparente.


Ho appena capito se sei su un Macbook che devi premere fn-deletedopo aver selezionato la bacchetta magica;) L'eliminazione non funziona da sola.
Ben

Risposte:


307

Per espandere la risposta di utopicam , a volte l'immagine potrebbe contenere aree, come le ombre, che vorresti essere semitrasparenti. Ad esempio, supponiamo che tu abbia una foto scattata in una lightbox, come questa bella foto autorizzata di un cavallo giocattolo di legno svedese per gentile concessione di Creative Tools :

Una foto di un cavallo giocattolo Dalekarlian in un lightbox, concesso in licenza sotto CC-By 2.0 da Creative Tools

In generale, il primo passo sarebbe quello di regolare i livelli dell'immagine fino a quando lo sfondo è davvero bianco solido, ad eccezione delle ombre e dei riflessi che vogliamo mantenere. (Puoi usare questa tecnica anche con uno sfondo grigio o colorato, ma è un po 'più complicato ottenere buoni risultati in questo modo.) In questo caso, l'immagine è già ben regolata, quindi non dobbiamo fare nulla al riguardo.

Il prossimo passo è selezionare lo sfondo. Questo è stato abbastanza facile da fare con lo strumento bacchetta magica , anche se ho dovuto correggere alcuni bit in cui le strisce bianche sull'oggetto si fondono con lo sfondo con lo strumento Lazo . Inoltre, una volta selezionato lo sfondo, ho ampliato la selezione di alcuni pixel (alla massima risoluzione) per evitare di lasciare un alone biancastro attorno all'oggetto a causa dell'aliasing. (Non puoi vederlo in questo screenshot ridimensionato, ma sono davvero riuscito a fare un bel lavoro con la selezione, se così posso dire io.)

Stessa immagine con lo sfondo selezionato

Ora, ecco il trucco : invece di tagliare semplicemente lo sfondo, ho usato ColoriColore in Alpha per cambiare il colore di sfondo (bianco) in trasparente. (Potresti anche usare il riempimento a secchiello con la modalità Cancella colore come suggerisce utopicam.) Se applicato all'intera immagine, ciò renderebbe anche l'oggetto semitrasparente, ma poiché è selezionato solo lo sfondo, le ombre diventano traslucide mentre l'oggetto stesso rimane opaco:

Immagine dopo aver applicato Colore ad Alpha

Ed ecco la stessa immagine su uno sfondo blu pallido, per mostrare meglio le ombre e i riflessi semitrasparenti:

Stessa immagine su uno sfondo blu pallido

Un altro trucco che non ho mostrato è che spesso è più conveniente creare due copie del livello dell'immagine, convertire la selezione in una maschera di livello in quella superiore e applicare Colore ad Alpha in quella inferiore. Ciò consente di mettere a punto i bordi dell'oggetto modificando la maschera, mentre si vede dal vivo come apparirà il risultato. (Suggerimento: crea alcuni livelli di sfondo riempiti con colori diversi, in modo da poter controllare facilmente l'aspetto dell'immagine su sfondi diversi.) In particolare, a volte rendere le luci in prossimità dei bordi dell'oggetto solo leggermente traslucide può rendere il risultato più piacevole e più naturale, poiché imita lo sfondo che si riflette sull'oggetto.


1
the first step would be to adjust the levels of the image until the background really is solid white- come dovrebbe essere incluso esattamente per noi manichini? O dovrei fare una domanda separata su come farlo?
hippietrail,

1
@hippietrail: lo strumento Livelli generalmente fa un buon lavoro: basta spostare il cursore di input più a destra a sinistra fino a quando sembra buono, oppure utilizzare il contagocce bianco. Se il taglio sembra troppo nitido, puoi passare a "Modifica queste impostazioni come curve" e smussarlo. (Fondamentalmente, ciò che di solito vuoi è una curva per lo più lineare, ma si piega un po 'vicino al bordo superiore per incontrarlo gradualmente piuttosto che in un angolo acuto.)
Ilmari Karonen

Mi piace lo strumento curve per spostare uno sfondo "bianco" su bianco completo. Questo dà anche un piacevole istogramma attraverso il resto dell'immagine.
Sig. Purple,

75

Utilizzo del riempimento rapido della benna anziché della selezione del contorno

Nota: questo tutorial è disponibile anche in PDF.

_La trahison des images_ del connazionale René Magritte;  parzialmente vandalizzato ai fini di questo tutorial.

Aggiungi un canale alfa

Alcuni tipi di immagine mancano di un canale di trasparenza; JPG per esempio. In tal caso, aggiungere un canale di trasparenza alfa. Questo viene fatto selezionando Layer → Tranparency → Add Alpha Channel.

Riempi il secchio con il colore [opzionale]

Il passaggio successivo è facoltativo e consiste nel riempire l'area che dovrebbe diventare prima trasparente con un colore normale. Seleziona lo strumento Riempi secchio o premi Shift+ B. Nelle Bucket Fillopzioni della casella degli strumenti, selezionare Fill transparent areassolo quando necessario. Selezionare BG colour filled Sample mergedeseguire alcuni tentativi mentre si regola Thresholdper ottenere i migliori risultati. Nel mezzo, premi Ctrl+ Zper annullare.

Una certa miscelazione dei colori sarà inevitabile e persino desiderata. (A questo proposito, Adobe Photoshop non è diverso.) Quindi, scegli un colore compatibile con lo sfondo su cui verrà eventualmente utilizzata l'immagine risultante. Fare clic sul rettangolo del colore di sfondo nella metà superiore della Tool Optionsfinestra della casella degli strumenti per modificare il colore di sfondo. Qui, ho usato f3f3e9come colore di sfondo per il riempimento a tinta unita. Tuttavia, è anche possibile utilizzare lo strumento contagocce per scegliere un colore da qualsiasi punto del desktop.

<code> Riempi secchio </code>: seleziona <code> Riempi aree trasparenti </code> solo quando necessario.  Seleziona <code> Riempimento colore BG </code> e <code> Campione unito </code> ed esegui alcuni tentativi mentre regola <code> Soglia </code> per ottenere i migliori risultati.  Nel mezzo, premi <kbd> Ctrl </kbd> + <kbd> Z </kbd> per annullare.

<code> Riempimento bucket </code> applicato.  Scegli un colore di riempimento compatibile con lo sfondo su cui verrà eventualmente utilizzata l'immagine risultante.  Questo perché una certa miscelazione del colore è inevitabile e persino desiderata.  Qui, ho usato <code> f3f3e9 </code> per il riempimento in tinta unita.

Seleziona per colore

La cosa giusta da fare ora è Select → By Colour. Potrebbe essere allettante eseguire Colour to Transparency, tuttavia ciò cambierebbe anche le aree semitrasparenti all'interno dell'area dell'immagine desiderata. Questa volta, selezionare Fill transparent areasanche Sample merged. Per questo esempio particolare ho scelto di non applicare AntialiasingFeather edges. Tuttavia, sperimenta queste impostazioni e scegli ciò che sembra migliore. Ancora una volta, esegui alcuni tentativi mentre ti regoli Thresholdper ottenere i migliori risultati. Nel mezzo, premi Ctrl+ Zper annullare.

<code> Seleziona per colore </code>: questa volta, seleziona <code> Riempi aree trasparenti </code> e <code> Campione unito </code>.  Ancora una volta, esegui alcuni tentativi mentre regoli <code> Threshold </code> e sperimenta <code> Antialiasing </code> e <code> Feather spigoli </code> per ottenere i migliori risultati.  Nel mezzo, premi \ <kbd> Ctrl </kbd> + <kbd> Z </kbd> per annullare.

<code> Seleziona → Per colore </code> applicato

Sottrai dalla selezione

A volte, risulta difficile ottenere la selezione del colore esattamente corretta. Parte dell'area dell'immagine desiderata potrebbe essere selezionata anche perché il colore corrispondeva. In questo caso, e appena visibili, sono stati selezionati anche nove pixel desiderati nel mezzo del tubo per l'eliminazione. In questo caso, utilizzare Ctrl+ Dragcon uno Selectstrumento a scelta per selezionare un'area di selezione sottrattiva.

Usa <kbd> Ctrl </kbd> + <code> Trascina </code> con uno strumento <code> Select </code> a tua scelta per selezionare un'area di selezione sottrattiva.

L'area di trasparenza desiderata è ora selezionata.

Aumenta la selezione [opzionale]

Al bordo dell'immagine desiderata, alcune sfumature dello sfondo rimangono ancora deselezionate. In tal caso, aumentare la selezione con un pixel utilizzando Select → Grow… → 1px.

Elimina

Una volta selezionata l'area di trasparenza desiderata, premere semplicemente Delete.

Una volta selezionata l'area di trasparenza desiderata, premi semplicemente <kbd> Elimina </kbd>.

Risultato finale

Infine, esporta l'immagine trasparente con File → Export As...un formato file che supporti la trasparenza. Sarebbe preferibilmente PNG, ma anche GIF funzionerebbe.

Il risultato finale


4
Potresti voler aumentare la selezione di 1px per rimuovere i bordi bianchi (Seleziona> Crescita> 1> OK)
MonoThreaded

4
Non sono affatto esperto di design grafico. Ogni rara occasione in cui ho bisogno di rimuovere uno sfondo, mi sembra di tornare a questa risposta. Grazie!
slayernoah,

1
Ho anche scoperto che l'uso Featherdell'opzione nella selezione è utile anche per le immagini con bordi sfocati contro gli spazi bianchi.
Giovedì

1
Grazie: avere già un jpg con sfondo bianco puro, è stato semplice: aggiungi un livello di trasparenza, seleziona, elimina.
DJVG

21

Sembra che tu debba ritagliare alcune parti dei jpg (la figura principale, per esempio) ed eliminare lo "sfondo". Puoi farlo usando lo strumento Lazo.

Il sito web di gimp ha molti tutorial e spiegazioni. Dai un'occhiata a questo http://docs.gimp.org/en/gimp-painting.html#gimp-concepts-selection e questo fuori: http://docs.gimp.org/en/gimp-tool-free-select.html

La selezione poligonale crea un punto di ancoraggio ogni volta che si fa clic. Quindi spostando il puntatore del mouse si disegna una linea con un nuovo punto di ancoraggio che è possibile spostare finché non si fa di nuovo clic.

Puoi accedere allo strumento Lazo in diversi modi:

  • Dalla barra del menu immagine Strumenti → Strumenti di selezione → Selezione libera,

  • facendo clic sull'icona dello strumento nella Casella degli strumenti,

  • usando la scorciatoia da tastiera F.

Per rendere trasparente lo sfondo solido di un'immagine , aggiungi un canale alfa e usa la bacchetta magica per selezionare lo sfondo. Quindi, utilizzare lo strumento Selettore colore per selezionare il colore di sfondo, che diventa il colore di primo piano nella casella degli strumenti. Usa lo strumento Riempi secchio con il colore selezionato. Impostare la modalità Riempimento a secchio su “Cancella colore”, che cancella i pixel con il colore selezionato; gli altri pixel vengono parzialmente cancellati e il loro colore viene cambiato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.