PPTX DOCX XLSX PDF ODP
Aspose.Imaging  para Java
JP2

Filtre JP2s via Java

Crie seus próprios aplicativos Java para filtrar arquivos JP2 usando APIs do lado do servidor.

Como filtrar arquivos JP2 usando Java

Mesmo a imagem mais perfeita pode ser melhorada ou transformada numa obra de arte completamente diferente e única. Aplique filtros para obter uma ampla gama de efeitos de imagem. Por exemplo, você pode aumentar a nitidez de uma imagem ou, inversamente, adicionar um desfoque, suavizá-la ou eliminar o ruído de cor. Os filtros também são inestimáveis ​​quando você deseja conferir exclusividade à sua imagem. Para conseguir isso, aplique o efeito desejado ou combine diferentes efeitos. Essa abordagem permite refinar gradientes de cores, eliminar ruídos e, ao mesmo tempo, aprimorar a nitidez das bordas dos objetos na foto. Para filtrar arquivos JP2, usaremos Aspose.Imaging for Java API que é uma API de manipulação e conversão de imagens rica em recursos, poderosa e fácil de usar para plataforma Java. Você pode baixar sua versão mais recente diretamente de Maven e instale-o em seu projeto baseado em Maven adicionando as seguintes configurações ao pom.xml.

Repository

<repositório>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</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>

Etapas para filtrar JP2s via Java

Você precisa do aspose-imaging-version-jdk16.jar para experimentar o fluxo de trabalho a seguir em seu próprio ambiente.

  • Carregar arquivos JP2 com o método Image.Load
  • Filtrar imagens;
  • Salve a imagem compactada no disco no formato suportado pelo Aspose.Imaging

Requisitos de sistema

Aspose.Imaging para Java é compatível com todos os principais sistemas operacionais. Apenas certifique-se de ter os seguintes pré-requisitos.

  • JDK 1.6 ou superior está instalado.
 

Filtrar imagens JP2 - 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;
medianfilter();
public static void smallRectangularfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/SmallRectangularFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new SmallRectangularFilterOptions());
}, "smallrectangular");
}
public static void bigRectangularfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/BigRectangularFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new BigRectangularFilterOptions());
}, "bigrectangular");
}
public static void sharpenfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/SharpenFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new SharpenFilterOptions());
}, "sharpen");
}
public static void motionWienerfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/MotionWienerFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new MotionWienerFilterOptions(20, 2, 0));
}, "motionwiener");
}
public static void bilateralSmoothingfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/BilateralSmoothingFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new BilateralSmoothingFilterOptions());
}, "bilateralsmoothing");
}
public static void gaussBlurfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/GaussianBlurFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new GaussianBlurFilterOptions(5, 4));
}, "gaussblur");
}
public static void gaussWienerfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/GaussWienerFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new GaussWienerFilterOptions(5, 5));
}, "gausswiener");
}
public static void medianfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/MedianFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new MedianFilterOptions(20));
}, "median");
}
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;
}
 
  • Sobre o Aspose.Imaging para a API Java

    Aspose.Imaging API é uma solução de processamento de imagens para criar, modificar, desenhar ou converter imagens (fotos) dentro de aplicativos. Oferece: Processamento de imagem multiplataforma, incluindo, mas não limitado a, conversões entre vários formatos de imagem (incluindo processamento de imagem uniforme de várias páginas ou vários quadros), modificações como desenho, trabalho com primitivos gráficos, transformações (redimensionar, cortar, virar e girar , binarização, escala de cinza, ajuste), recursos avançados de manipulação de imagem (filtragem, pontilhamento, mascaramento, alinhamento) e estratégias de otimização de memória. É uma biblioteca autônoma e não depende de nenhum software para operações de imagem. Pode-se adicionar facilmente recursos de conversão de imagem de alto desempenho com APIs nativas nos projetos. Essas são APIs locais 100% privadas e as imagens são processadas em seus servidores.

    Filtrar JP2s via aplicativo on-line

    Filtre documentos JP2 visitando nosso site de demonstrações ao vivo . A demonstração ao vivo tem os seguintes benefícios

      Não há necessidade de baixar ou configurar nada
      Não há necessidade de escrever nenhum código
      Basta enviar seus arquivos JP2 e clicar no botão "Filtrar agora"
      Obtenha instantaneamente o link de download para o arquivo resultante

    JP2 O que é JP2 Formato de arquivo

    JPEG 2000 (JP2) é um sistema de codificação de imagem e padrão de compressão de imagem de última geração. Projetado, usando a tecnologia wavelet JPEG 2000 pode codificar conteúdo sem perdas em qualquer qualidade de uma só vez. Além disso, sem nenhuma penalidade substancial na eficiência de codificação, o JPEG 2000 tem a capacidade de acessar e decodificar o mesmo conteúdo de forma eficaz em uma variedade de outras resoluções e qualidades. Os fluxos de código em JPEG 2000 são significativamente escaláveis ​​com regiões de interesse que fornecem a facilidade de acesso espacial aleatório. Possuindo até 16384 componentes diversos com as dimensões em terapixels, e precisão que pode chegar a 38 bits/amostra.

    consulte Mais informação

    Outros formatos de filtro suportados

    Usando Java, pode-se filtrar facilmente diferentes formatos, incluindo.

    APNG (Gráficos de rede portátil animados)
    BMP (Imagem de bitmap)
    ICO (ícone do Windows)
    JPG (Grupo Conjunto de Especialistas em Fotografia)
    JPEG (Grupo Conjunto de Especialistas em Fotografia)
    DIB (Bitmap independente de dispositivo)
    DICOM (Imagens e comunicações digitais)
    DJVU (Formato gráfico)
    DNG (Imagem de câmera digital)
    EMF (Formato de metarquivo aprimorado)
    EMZ (Meta-arquivo aprimorado compactado do Windows)
    GIF (Formato de intercâmbio gráfico)
    J2K (Imagem Comprimida Wavelet)
    PNG (Gráficos Portáteis de Rede)
    TIFF (Formato de imagem marcada)
    TIF (Formato de imagem marcada)
    WEBP (Imagem da Web Raster)
    WMF (Meta-arquivo do Microsoft Windows)
    WMZ (Skin compactada do Windows Media Player)
    TGA (Gráfico Targa)
    SVG (Gráficos vetoriais escalonáveis)
    EPS (Linguagem PostScript Encapsulada)
    CDR (Imagem de desenho vetorial)
    CMX (Imagem do Corel Exchange)
    OTG (Padrão OpenDocument)
    ODG (Formato de desenho do Apache OpenOffice)