Binarizza TGA tramite Java
Crea le tue app Java per binarizzare i file TGA utilizzando le API lato server.
Come binarizzare i file TGA usando Java
L’invenzione della pellicola a colori ha segnato una pietra miliare significativa nel campo della fotografia. Tuttavia, la fotografia classica è intrinsecamente legata alle immagini in bianco e nero. Nonostante le ampie capacità tecniche delle fotocamere di catturare l’intero spettro dei colori, molte persone optano per la monocromia, trasformando le loro immagini in bianco e nero. In questi casi, entra in gioco una funzione di binarizzazione, che converte tutti i pixel in valori binari: "0" per il bianco e "1" per il nero. In altri scenari, questa conversione non è guidata da scelte artistiche ma pratiche, come la preparazione di illustrazioni in bianco e nero per la stampa su libri o giornali. Utilizzando la libreria grafica Java, puoi designare una soglia di luminosità dei pixel. I pixel con valori di luminosità inferiori a questa soglia diventeranno neri, mentre quelli superiori diventeranno bianchi. In alternativa, puoi utilizzare un metodo di binarizzazione adattivo che considera i valori dei pixel nell’area circostante. Questo approccio si traduce in transizioni più fluide tra i limiti di colore nell’immagine in bianco e nero risultante. Per binarizzare i file TGA, utilizzeremo Aspose.Imaging per Java API che è un’API di conversione e manipolazione delle immagini ricca di funzionalità, potente e facile da usare per la piattaforma Java. Puoi scaricare la sua ultima versione direttamente da Maven e installalo all’interno del tuo progetto basato su Maven aggiungendo le seguenti configurazioni a pom.xml.
Repository
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose API Java</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependency
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Passaggi per binarizzare TGA tramite Java
Hai bisogno del aspose-imaging-version-jdk16.jar per provare il seguente flusso di lavoro nel tuo ambiente.
- Carica file TGA con il metodo Image.Load
- Binarizza le immagini;
- Salva l’immagine compressa su disco nel formato supportato da Aspose.Imaging
Requisiti di sistema
Aspose.Imaging per Java è supportato su tutti i principali sistemi operativi. Assicurati solo di avere i seguenti prerequisiti.
- È installato JDK 1.6 o versioni successive.
Binarizza immagini TGA - Java
import com.aspose.imaging.IMultipageImage; | |
import com.aspose.imaging.Image; | |
import com.aspose.imaging.RasterImage; | |
import com.aspose.imaging.imageoptions.PngOptions; | |
import java.io.File; | |
import java.util.Arrays; | |
import java.util.LinkedList; | |
import java.util.List; | |
import java.util.function.Consumer; | |
binarizeFixed(); | |
public static void binarizeOtsu() | |
{ | |
// https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#binarizeOtsu-- | |
filterImages(RasterImage::binarizeOtsu, "binarizeotsu"); | |
} | |
public static void binarizeBradley() | |
{ | |
filterImages(image -> | |
{ | |
// https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#binarizeBradley-double- | |
image.binarizeBradley(0.5); | |
}, "binarizebradley"); | |
} | |
public static void binarizeFixed() | |
{ | |
filterImages(image -> | |
{ | |
// https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#binarizeFixed-byte- | |
image.binarizeFixed((byte)70); | |
}, "binarizefixed"); | |
} | |
static String templatesFolder = "D:\\"; | |
public static void filterImages(Consumer<RasterImage> doFilter, String filterName) | |
{ | |
List<String> rasterFormats = Arrays.asList("jpg", "png", "bmp", "apng", "dicom", | |
"jp2", "j2k", "tga", "webp", "tif", "gif", "ico"); | |
List<String> vectorFormats = Arrays.asList("svg", "otg", "odg", "eps", "wmf", "emf", "wmz", "emz", "cmx", "cdr"); | |
List<String> allFormats = new LinkedList<>(rasterFormats); | |
allFormats.addAll(vectorFormats); | |
allFormats.forEach( | |
formatExt -> | |
{ | |
String inputFile = templatesFolder + "template." + formatExt; | |
boolean isVectorFormat = vectorFormats.contains(formatExt); | |
//Need to rasterize vector formats before background remove | |
if (isVectorFormat) | |
{ | |
inputFile = rasterizeVectorImage(formatExt, inputFile); | |
} | |
String outputFile = templatesFolder + String.format("%s_%s.png", filterName, formatExt); | |
System.out.println("Processing " + formatExt); | |
try (RasterImage image = (RasterImage) Image.load(inputFile)) | |
{ | |
doFilter.accept(image); | |
//If image is multipage save each page to png to demonstrate results | |
if (image instanceof IMultipageImage && ((IMultipageImage) image).getPageCount() > 1) | |
{ | |
IMultipageImage multiPage = (IMultipageImage) image; | |
final int pageCount = multiPage.getPageCount(); | |
final Image[] pages = multiPage.getPages(); | |
for (int pageIndex = 0; pageIndex < pageCount; pageIndex++) | |
{ | |
String fileName = String.format("%s_page%d_%s.png", filterName, pageIndex, formatExt); | |
pages[pageIndex].save(fileName, new PngOptions()); | |
} | |
} | |
else | |
{ | |
image.save(outputFile, new PngOptions()); | |
} | |
} | |
//Remove rasterized vector image | |
if (isVectorFormat) | |
{ | |
new File(inputFile).delete(); | |
} | |
} | |
); | |
} | |
private static String rasterizeVectorImage(String formatExt, String inputFile) | |
{ | |
String outputFile = templatesFolder + "rasterized."+ formatExt + ".png"; | |
try (Image image = Image.load(inputFile)) | |
{ | |
image.save(outputFile, new PngOptions()); | |
} | |
return outputFile; | |
} |
Informazioni su Aspose.Imaging per l'API Java
Aspose.Imaging API è una soluzione di elaborazione delle immagini per creare, modificare, disegnare o convertire immagini (foto) all’interno delle applicazioni. Offre: elaborazione delle immagini multipiattaforma, incluse, a titolo esemplificativo ma non esaustivo, conversioni tra vari formati di immagine (inclusa elaborazione uniforme di immagini multipagina o multiframe), modifiche come disegnare, lavorare con primitive grafiche, trasformazioni (ridimensiona, ritaglia, capovolgi e ruota , binarizzazione, scala di grigi, regolazione), funzionalità avanzate di manipolazione delle immagini (filtro, dithering, mascheratura, raddrizzatura) e strategie di ottimizzazione della memoria. È una libreria autonoma e non dipende da alcun software per le operazioni sulle immagini. È possibile aggiungere facilmente funzionalità di conversione delle immagini ad alte prestazioni con API native all’interno dei progetti. Si tratta di API locali private al 100% e le immagini vengono elaborate sui tuoi server.Binarizza TGA tramite l’app online
Binarizzare i documenti TGA visitando il nostro sito web demo live . La demo dal vivo ha i seguenti vantaggi
TGA Cos'è TGA Formato del file
Truevision TGA, spesso indicato come TARGA, è un formato di file di grafica raster creato da Truevision Inc. (ora parte di Avid Technology). Era il formato nativo delle schede TARGA e VISTA, le prime schede grafiche per PC compatibili con IBM a supportare la visualizzazione Highcolor/truecolor.
Per saperne di piùAltri formati di binarizzazione supportati
Usando Java, si possono facilmente binarizzare diversi formati tra cui.