La rimozione dello sfondo separa un soggetto dai suoi dintorni in modo da poterlo posizionare su trasparenza, scambiare la scena o comporla in un nuovo design. Sotto il cofano stai stimando un alpha matte—un'opacità per pixel da 0 a 1—e poi applicando il compositing alfa al primo piano su qualcos'altro. Questa è la matematica di Porter–Duff e la causa di problemi comuni come “frange” e alfa dritto vs. premoltiplicato. Per una guida pratica sulla premoltiplicazione e il colore lineare, vedere le note Win2D di Microsoft, Søren Sandmann, e l'articolo di Lomont sulla fusione lineare.
Se puoi controllare l'acquisizione, dipingi lo sfondo di un colore a tinta unita (spesso verde) e elimina quella tonalità. È veloce, ampiamente testato nel cinema e nelle trasmissioni, e ideale per i video. I compromessi sono l'illuminazione e l'abbigliamento: la luce colorata si riversa sui bordi (specialmente i capelli), quindi userai strumenti di despill per neutralizzare la contaminazione. Buone guide introduttive includono la documentazione di Nuke, Mixing Light, e una demo pratica di Fusion.
Per singole immagini con sfondi disordinati, gli algoritmi interattivi necessitano di alcuni suggerimenti dell'utente, ad esempio un rettangolo approssimativo o scarabocchi, e generano una maschera nitida. Il metodo canonico è GrabCut (capitolo del libro), che apprende modelli di colore per primo piano/sfondo e utilizza tagli di grafo in modo iterativo per separarli. Vedrai idee simili in Selezione primo piano di GIMP basato su SIOX (plugin ImageJ).
Il Matting risolve la trasparenza parziale ai confini sottili (capelli, pelliccia, fumo, vetro). Il matting a forma chiusa classico prende una trimappa (decisamente-primo piano/decisamente-sfondo/sconosciuto) e risolve un sistema lineare per l'alfa con una forte precisione dei bordi. Il deep image matting moderno addestra reti neurali sul dataset Adobe Composition-1K (documentazione MMEditing), ed è valutato con metriche come SAD, MSE, Gradiente e Connettività (spiegazione del benchmark).
Anche il lavoro di segmentazione correlato è utile: DeepLabv3+ affina i confini con un codificatore-decodificatore e convoluzioni dilatate (PDF); Mask R-CNN fornisce maschere per istanza (PDF); e SAM (Segment Anything) è un modello di base controllabile da prompt che genera maschere zero-shot su immagini sconosciute.
Il lavoro accademico riporta errori di SAD, MSE, Gradiente e Connettività su Composition-1K. Se stai scegliendo un modello, cerca quelle metriche (definizioni delle metriche; sezione metriche di Background Matting). Per ritratti/video, MODNet e Background Matting V2 sono molto efficaci; per immagini generiche di “oggetti salienti”, U2-Net è una solida base; per trasparenze difficili, FBA può dare risultati migliori.
Il formato PBM (Portable Bitmap) è uno dei formati di file grafici più semplici e antichi utilizzati per memorizzare immagini monocromatiche. Fa parte della suite Netpbm, che include anche PGM (Portable GrayMap) per immagini in scala di grigi e PPM (Portable PixMap) per immagini a colori. Il formato PBM è progettato per essere estremamente facile da leggere e scrivere in un programma e per essere chiaro e univoco. Non è inteso come un formato autonomo, ma piuttosto come un minimo comun denominatore per la conversione tra diversi formati di immagine.
Il formato PBM supporta solo immagini in bianco e nero (1 bit). Ogni pixel nell'immagine è rappresentato da un singolo bit: 0 per il bianco e 1 per il nero. La semplicità del formato lo rende semplice da manipolare utilizzando strumenti di modifica del testo di base o linguaggi di programmazione senza la necessità di librerie di elaborazione delle immagini specializzate. Tuttavia, questa semplicità significa anche che i file PBM possono essere più grandi di formati più sofisticati come JPEG o PNG, che utilizzano algoritmi di compressione per ridurre le dimensioni del file.
Esistono due varianti del formato PBM: il formato ASCII (semplice), noto come P1, e il formato binario (raw), noto come P4. Il formato ASCII è leggibile dall'uomo e può essere creato o modificato con un semplice editor di testo. Il formato binario non è leggibile dall'uomo ma è più efficiente in termini di spazio e più veloce da leggere e scrivere per i programmi. Nonostante le differenze di archiviazione, entrambi i formati rappresentano lo stesso tipo di dati di immagine e possono essere convertiti tra loro senza perdita di informazioni.
La struttura di un file PBM in formato ASCII inizia con un numero magico di due byte che identifica il tipo di file. Per il formato ASCII PBM, questo è "P1". Dopo il numero magico, c'è uno spazio vuoto (spazi, TAB, CR, LF), quindi una specifica di larghezza, che è il numero di colonne nell'immagine, seguita da più spazi vuoti, quindi una specifica di altezza, che è il numero di righe nell'immagine. Dopo la specifica dell'altezza, c'è più spazio vuoto, quindi iniziano i dati dei pixel.
I dati dei pixel in un file PBM ASCII consistono in una serie di "0" e "1", con ogni "0" che rappresenta un pixel bianco e ogni "1" che rappresenta un pixel nero. I pixel sono disposti in righe, con ogni riga di pixel su una nuova riga. Lo spazio vuoto è consentito ovunque nei dati dei pixel tranne che all'interno di una sequenza di due caratteri (non è consentito tra i due caratteri della sequenza). La fine del file viene raggiunta dopo aver letto i bit larghezza*altezza.
Al contrario, il formato PBM binario inizia con un numero magico di "P4" invece di "P1". Dopo il numero magico, il formato del file è lo stesso della versione ASCII fino a quando non iniziano i dati dei pixel. I dati dei pixel binari vengono impacchettati in byte, con il bit più significativo (MSB) di ciascun byte che rappresenta il pixel più a sinistra e ogni riga di pixel riempita come necessario per riempire l'ultimo byte. I bit di riempimento non sono significativi e i loro valori vengono ignorati.
Il formato binario è più efficiente in termini di spazio perché utilizza un byte completo per rappresentare otto pixel, al contrario del formato ASCII che utilizza almeno otto byte (un carattere per pixel più uno spazio vuoto). Tuttavia, il formato binario non è leggibile dall'uomo e richiede un programma che comprenda il formato PBM per visualizzare o modificare l'immagine.
Creare un file PBM a livello di programmazione è relativamente semplice. In un linguaggio di programmazione come C, si aprirebbe un file in modalità scrittura, si emetterebbe il numero magico appropriato, si scriverebbero la larghezza e l'altezza come numeri ASCII separati da spazi vuoti, quindi si emetterebbero i dati dei pixel. Per un PBM ASCII, i dati dei pixel possono essere scritti come una serie di "0" e "1" con gli opportuni a capo. Per un PBM binario, i dati dei pixel devono essere impacchettati in byte e scritti nel file in modalità binaria.
Anche leggere un file PBM è semplice. Un programma leggerebbe il numero magico per determinare il formato, salterebbe lo spazio vuoto, leggerebbe la larghezza e l'altezza, salterebbe più spazi vuoti, quindi leggerebbe i dati dei pixel. Per un PBM ASCII, il programma può leggere i caratteri uno alla volta e interpretarli come valori di pixel. Per un PBM binario, il programma deve leggere i byte e decomprimerli in singoli bit per ottenere i valori dei pixel.
Il formato PBM non supporta alcuna forma di compressione o codifica, il che significa che le dimensioni del file sono direttamente proporzionali al numero di pixel nell'immagine. Ciò può comportare file molto grandi per immagini ad alta risoluzione. Tuttavia, la semplicità del formato lo rende ideale per apprendere l'elaborazione delle immagini, per l'uso in situazioni in cui la fedeltà dell'immagine è più importante delle dimensioni del file o per l'uso come formato intermedio nei processi di conversione delle immagini.
Uno dei vantaggi del formato PBM è la sua semplicità e la facilità con cui può essere manipolato. Ad esempio, per invertire un'immagine PBM (trasformare tutti i pixel neri in bianchi e viceversa), si possono semplicemente sostituire tutti gli "0" con "1" e tutti gli "1" con "0" nei dati dei pixel. Ciò può essere fatto con un semplice script o programma di elaborazione del testo. Allo stesso modo, altre operazioni di base sulle immagini come la rotazione o il mirroring possono essere implementate con semplici algoritmi.
Nonostante la sua semplicità, il formato PBM non è ampiamente utilizzato per l'archiviazione o lo scambio di immagini generali. Ciò è dovuto principalmente alla sua mancanza di compressione, che lo rende inefficiente per la memorizzazione di immagini di grandi dimensioni o per l'uso su Internet dove la larghezza di banda può essere un problema. Formati più moderni come JPEG, PNG e GIF offrono varie forme di compressione e sono più adatti a questi scopi. Tuttavia, il formato PBM viene ancora utilizzato in alcuni contesti, in particolare per la grafica semplice nello sviluppo del software e come strumento didattico per i concetti di elaborazione delle immagini.
La suite Netpbm, che include il formato PBM, fornisce una raccolta di strumenti per la manipolazione di file PBM, PGM e PPM. Questi strumenti consentono la conversione tra i formati Netpbm e altri formati di immagine popolari, nonché operazioni di elaborazione delle immagini di base come il ridimensionamento, il ritaglio e la manipolazione del colore. La suite è progettata per essere facilmente estensibile, con un'interfaccia semplice per aggiungere nuove funzionalità.
In conclusione, il formato immagine PBM è un formato file semplice e senza fronzoli per la memorizzazione di immagini bitmap monocromatiche. La sua semplicità lo rende facile da comprendere e manipolare, il che può essere vantaggioso per scopi didattici o per semplici attività di elaborazione delle immagini. Sebbene non sia adatto a tutte le applicazioni a causa della sua mancanza di compressione e delle conseguenti grandi dimensioni dei file, rimane un formato utile nei contesti specifici in cui i suoi punti di forza sono più vantaggiosi. Il formato PBM, insieme al resto della suite Netpbm, continua a essere uno strumento prezioso per coloro che lavorano con l'elaborazione delle immagini di base e la conversione dei formati.
Questo convertitore funziona interamente nel tuo browser. Quando selezioni un file, viene letto in memoria e convertito nel formato selezionato. Puoi quindi scaricare il file convertito.
Le conversioni iniziano istantaneamente e la maggior parte dei file viene convertita in meno di un secondo. I file più grandi potrebbero richiedere più tempo.
I tuoi file non vengono mai caricati sui nostri server. Vengono convertiti nel tuo browser e il file convertito viene quindi scaricato. Non vediamo mai i tuoi file.
Supportiamo la conversione tra tutti i formati di immagine, inclusi JPEG, PNG, GIF, WebP, SVG, BMP, TIFF e altro ancora.
Questo convertitore è completamente gratuito e lo sarà sempre. Poiché funziona nel tuo browser, non dobbiamo pagare per i server, quindi non dobbiamo addebitarti alcun costo.
Sì! Puoi convertire tutti i file che vuoi in una volta. Basta selezionare più file quando li aggiungi.