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 immagine J2C, noto anche come JPEG 2000 Code Stream, fa parte della suite di standard JPEG 2000. JPEG 2000 è uno standard di compressione delle immagini e un sistema di codifica creato dal comitato Joint Photographic Experts Group con l'intenzione di sostituire lo standard JPEG originale. Lo standard JPEG 2000 è stato stabilito con l'obiettivo di fornire un nuovo sistema di codifica delle immagini con elevata flessibilità e prestazioni migliorate rispetto a JPEG. È stato progettato per affrontare alcune limitazioni del formato JPEG, come le scarse prestazioni a bassi bitrate e la mancanza di scalabilità.
JPEG 2000 utilizza la trasformazione wavelet al posto della trasformata discreta del coseno (DCT) utilizzata nello standard JPEG originale. La trasformazione wavelet consente un grado più elevato di scalabilità e la possibilità di eseguire una compressione senza perdita di dati, il che significa che l'immagine originale può essere perfettamente ricostruita dai dati compressi. Questo è un vantaggio significativo rispetto alla compressione con perdita di dati del JPEG originale, che perde permanentemente alcune informazioni sull'immagine durante il processo di compressione.
Il formato file J2C si riferisce specificamente al flusso di codice di JPEG 2000. Questo flusso di codice è l'effettivo dato immagine codificato, che può essere incorporato in vari formati contenitore come JP2 (formato file JPEG 2000 Parte 1), JPX (JPEG 2000 Parte 2, formato file esteso) e MJ2 (formato file Motion JPEG 2000 per video). Il formato J2C è essenzialmente il dato immagine grezzo e codificato senza metadati o struttura aggiuntivi che potrebbero essere forniti da un formato contenitore.
Una delle caratteristiche principali del formato J2C è il suo supporto sia per la compressione senza perdita di dati che con perdita di dati all'interno dello stesso file. Ciò si ottiene mediante l'uso di una trasformata wavelet reversibile per la compressione senza perdita di dati e una trasformata wavelet irreversibile per la compressione con perdita di dati. La scelta tra compressione senza perdita di dati e con perdita di dati può essere effettuata su base per tile all'interno dell'immagine, consentendo una combinazione di regioni di alta qualità e di qualità inferiore a seconda dell'importanza del contenuto.
Il formato J2C è anche altamente scalabile, supportando una funzionalità nota come "decodifica progressiva". Ciò significa che una versione a bassa risoluzione dell'immagine può essere decodificata e visualizzata per prima, seguita da livelli successivi di risoluzione più elevata man mano che vengono ricevuti o elaborati più dati dell'immagine. Ciò è particolarmente utile per le applicazioni di rete in cui la larghezza di banda può essere limitata, poiché consente un'anteprima rapida dell'immagine mentre l'immagine completa ad alta risoluzione è ancora in fase di download.
Un altro aspetto importante del formato J2C è il suo supporto per le regioni di interesse (ROI). Con la codifica ROI, alcune parti dell'immagine possono essere codificate a una qualità superiore rispetto al resto dell'immagine. Ciò è utile quando alcune aree dell'immagine sono più importanti e devono essere preservate con maggiore fedeltà, come i volti in un ritratto o il testo in un documento.
Il formato J2C include anche sofisticate funzionalità di resilienza agli errori, che lo rendono più robusto alla perdita di dati durante la trasmissione. Ciò si ottiene mediante l'uso di codici di correzione degli errori e la strutturazione del flusso di codice in modo da consentire il recupero dei pacchetti persi. Ciò rende J2C una buona scelta per la trasmissione di immagini su reti inaffidabili o per l'archiviazione di immagini in modo da ridurre al minimo l'impatto del potenziale danneggiamento dei dati.
Anche la gestione dello spazio colore in J2C è più avanzata rispetto al JPEG originale. Il formato supporta un'ampia gamma di spazi colore, tra cui scala di grigi, RGB, YCbCr e altri. Consente inoltre l'utilizzo di diversi spazi colore all'interno di diversi tile della stessa immagine, fornendo ulteriore flessibilità nel modo in cui le immagini vengono codificate e rappresentate.
L'efficienza di compressione del formato J2C è un altro dei suoi punti di forza. Utilizzando la trasformazione wavelet e tecniche avanzate di codifica dell'entropia come la codifica aritmetica, J2C può raggiungere rapporti di compressione più elevati rispetto al JPEG originale, specialmente a bitrate inferiori. Ciò lo rende un'opzione interessante per le applicazioni in cui lo spazio di archiviazione o la larghezza di banda sono un fattore critico, come nei dispositivi mobili o nelle applicazioni web.
Nonostante i suoi numerosi vantaggi, il formato J2C non ha visto un'ampia adozione rispetto al formato JPEG originale. Ciò è dovuto in parte alla maggiore complessità dello standard JPEG 2000, che richiede più risorse computazionali per codificare e decodificare le immagini. Inoltre, il formato JPEG originale è profondamente radicato in molti sistemi e dispone di un vasto ecosistema di supporto software e hardware, rendendo difficile per un nuovo standard prendere piede.
Tuttavia, in alcuni campi specializzati, il formato J2C è diventato la scelta preferita grazie alle sue caratteristiche specifiche. Ad esempio, nell'imaging medico, la possibilità di eseguire la compressione senza perdita di dati e il supporto per immagini ad alta gamma dinamica e ad alta profondità di bit rendono J2C un formato ideale. Allo stesso modo, nel cinema digitale e nell'archiviazione video, l'elevata qualità del formato a elevati rapporti di compressione e le sue funzionalità di scalabilità sono molto apprezzate.
Il processo di codifica di un'immagine J2C prevede diversi passaggi. Innanzitutto, l'immagine viene divisa in tile, che possono essere elaborati indipendentemente. Questa suddivisione in tile consente l'elaborazione parallela e può migliorare l'efficienza dei processi di codifica e decodifica. Ogni tile viene quindi trasformato utilizzando una trasformata wavelet reversibile o irreversibile, a seconda che si desideri una compressione senza perdita di dati o con perdita di dati.
Dopo la trasformazione wavelet, i coefficienti vengono quantizzati, il che implica la riduzione della precisione dei coefficienti wavelet. Nella compressione senza perdita di dati, questo passaggio viene saltato, poiché la quantizzazione introdurrebbe errori. I coefficienti quantizzati vengono quindi codificati in entropia utilizzando la codifica aritmetica, che riduce le dimensioni dei dati sfruttando le proprietà statistiche del contenuto dell'immagine.
Il passaggio finale nel processo di codifica è l'assemblaggio del flusso di codice. I dati codificati in entropia per ogni tile vengono combinati con le informazioni di intestazione che descrivono l'immagine e come è stata codificata. Ciò include informazioni sulle dimensioni dell'immagine, il numero di tile, la trasformata wavelet utilizzata, i parametri di quantizzazione e qualsiasi altro dato rilevante. Il flusso di codice risultante può quindi essere archiviato in un file J2C o incorporato in un formato contenitore.
La decodifica di un'immagine J2C implica essenzialmente l'inversione del processo di codifica. Il flusso di codice viene analizzato per estrarre le informazioni di intestazione e i dati codificati in entropia per ogni tile. I dati codificati in entropia vengono quindi decodificati per recuperare i coefficienti wavelet quantizzati. Se l'immagine è stata compressa utilizzando la compressione con perdita di dati, i coefficienti vengono quindi dequantizzati per approssimare i loro valori originali. La trasformata wavelet inversa viene applicata per ricostruire l'immagine dai coefficienti wavelet e i tile vengono cuciti insieme per formare l'immagine finale.
In conclusione, il formato immagine J2C è un potente e flessibile sistema di codifica delle immagini che offre numerosi vantaggi rispetto al formato JPEG originale, tra cui una migliore efficienza di compressione, scalabilità e la possibilità di eseguire la compressione senza perdita di dati. Sebbene non abbia raggiunto lo stesso livello di ubiquità di JPEG, è adatto ad applicazioni che richiedono immagini di alta qualità o hanno requisiti tecnici specifici. Man mano che la tecnologia continua ad avanzare e cresce la necessità di sistemi di codifica delle immagini più sofisticati, il formato J2C potrebbe vedere una maggiore adozione in vari campi.
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.