Binarizar TGA a través de Java
Cree sus propias aplicaciones Java para binarizar archivos TGA usando las API del lado del servidor.
Cómo binarizar archivos TGA usando Java
La invención de la película en color marcó un hito importante en el ámbito de la fotografía. Sin embargo, la fotografía clásica está inherentemente ligada a las imágenes en blanco y negro. A pesar de las amplias capacidades técnicas de las cámaras para capturar todo el espectro de colores, muchas personas optan por el monocromo, transformando sus fotografías en blanco y negro. En tales casos, entra en juego una función de binarización que convierte todos los píxeles en valores binarios: "0" para el blanco y "1" para el negro. En otros escenarios, esta conversión no está impulsada por decisiones artísticas sino prácticas, como preparar ilustraciones en blanco y negro para imprimir en libros o periódicos. Con la biblioteca de gráficos Java, puede designar un umbral de brillo de píxeles. Los píxeles con valores de brillo por debajo de este umbral se volverán negros, mientras que los que estén por encima se volverán blancos. Alternativamente, puede emplear un método de binarización adaptativa que considere los valores de píxeles en el área circundante. Este enfoque da como resultado transiciones más suaves entre los límites de color en la imagen en blanco y negro resultante. Para binarizar archivos TGA, usaremos Aspose.Imaging para Java API que es una API de conversióny manipulación de imágenes rica en funciones, potente y fácil de usar para la plataforma Java. Puedes descargar su última versión directamente desde Maven e instálelo dentro de su proyecto basado en Maven agregando las siguientes configuraciones al pom.xml.
Repositorio
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependencia
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Pasos para binarizar TGA a través de Java
necesitas el aspose-imaging-version-jdk16.jar para probar el siguiente flujo de trabajo en su propio entorno.
- Cargue archivos TGA con el método Image.Load
- Binarizar imágenes;
- Guarde la imagen comprimida en el disco en el formato compatible con Aspose.Imaging
Requisitos del sistema
Aspose.Imaging para Java es compatible con todos los principales sistemas operativos. Solo asegúrese de tener los siguientes requisitos previos.
- Está instalado JDK 1.6 o superior.
Binarizar TGA imágenes - 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; | |
} |
Acerca de Aspose.Imaging para Java API
Aspose.Imaging API es una solución de procesamiento de imágenes para crear, modificar, dibujar o convertir imágenes (fotos) dentro de las aplicaciones. Ofrece: procesamiento de imágenes multiplataforma, que incluye, entre otros, conversiones entre varios formatos de imagen (incluido el procesamiento uniforme de imágenes de varias páginas o varios cuadros), modificaciones como dibujar, trabajar con primitivas gráficas, transformaciones (redimensionar, recortar, voltear y rotar , binarización, escala de grises, ajuste), funciones avanzadas de manipulación de imágenes (filtrado, difuminado, enmascaramiento, corrección del sesgo) y estrategias de optimización de la memoria. Es una biblioteca independiente y no depende de ningún software para las operaciones de imagen. Uno puede agregar fácilmente funciones de conversión de imágenes de alto rendimiento con API nativas dentro de los proyectos. Estas son API locales 100 % privadas y las imágenes se procesan en sus servidores.Binarizar TGA a través de la aplicación en línea
Binarice documentos TGA visitando nuestro [sitio web de demostraciones en vivo] ( https://products.aspose.app/imaging/image-Binarize) . La demostración en vivo tiene los siguientes beneficios
TGA Qué es TGA Formato de archivo
Truevision TGA, a menudo denominado TARGA, es un formato de archivo de gráficos de trama creado por Truevision Inc. (ahora parte de Avid Technology). Era el formato nativo de las placas TARGA y VISTA, que fueron las primeras tarjetas gráficas para PC compatibles con IBM que admitían pantallas Highcolor/truecolor.
Leer másOtros formatos binarios admitidos
Usando Java, uno puede binarizar fácilmente diferentes formatos, incluidos.