PPTX DOCX XLSX PDF ODP
Aspose.Imaging  para Python
APNG

Use Python para binarização de imagens APNG

Crie aplicativos Python para binarizar imagens e fotos APNG por meio de APIs de servidor

Como binarizar imagens e fotos APNG com Python

A introdução da fotografia colorida marcou uma mudança fundamental na esfera fotográfica. No entanto, o fascínio da clássica imagem a preto e branco ainda persiste. Apesar da prevalência das câmeras coloridas, muitas pessoas ainda optam por converter suas fotografias em preto e branco. Esta transformação é normalmente conseguida através de um processo de binarização, substituindo cada pixel por um valor binário: “0” para branco e “1” para preto. As imagens em preto e branco são frequentemente usadas para mais do que apenas fins artísticos, encontrando aplicação prática em cenários como a impressão de ilustrações em publicações como livros e jornais. Na biblioteca gráfica Python, você pode definir um limite de brilho de pixel. Os pixels abaixo deste limite assumem a cor preta, enquanto os acima dele adotam a cor branca. Uma técnica de binarização adaptativa também está disponível, considerando os valores dos pixels circundantes para criar transições perfeitas entre os limites de cores na imagem em preto e branco resultante. Para binarizar arquivos APNG, utilizaremos Aspose.Imaging para Python via .NET API que é uma API de manipulação e conversão de imagens rica em recursos, poderosa e fácil de usar para a plataforma Python. Você pode instalá-lo usando o seguinte comando do comando do sistema.

A linha de comando do sistema

>> pip install aspose-imaging-python-net

Etapas para binarizar APNGs via Python

Você precisa do aspose-imaging-python-net para tentar o seguinte fluxo de trabalho em seu próprio ambiente.

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

Requisitos de sistema

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

-Microsoft Windows/Linux com .NET Core Runtime.

  • Gerenciador de pacotes Python e PyPi.
 

Binarize imagens APNG - Python

from aspose.imaging import *
from aspose.imaging.fileformats.bmp import *
from aspose.imaging.fileformats.dicom import *
from aspose.imaging.fileformats.emf import *
from aspose.imaging.fileformats.jpeg import *
from aspose.imaging.fileformats.jpeg2000 import *
from aspose.imaging.fileformats.png import *
from aspose.imaging.fileformats.psd import *
from aspose.imaging.fileformats.tiff.enums import *
from aspose.imaging.imagefilters.filteroptions import *
from aspose.imaging.imageoptions import *
from aspose.imaging.masking import *
from aspose.imaging.masking.options import *
from aspose.imaging.masking.result import *
from aspose.imaging.sources import *
from aspose.pycore import as_of, is_assignable
import os
if 'TEMPLATE_DIR' in os.environ:
templates_folder = os.environ['TEMPLATE_DIR']
else:
templates_folder = r"C:\Users\USER\Downloads\templates"
delete_output = 'SAVE_OUTPUT' not in os.environ
def binarize_otsu():
filter_images(lambda image: image.binarize_otsu(), "binarizeotsu")
def binarize_bradley():
filter_images(lambda image: image.binarize_bradley(0.5), "binarizebradley")
def binarize_fixed():
filter_images(lambda image: image.binarize_fixed(70), "binarizefixed")
def filter_images(do_filter, filter_name):
obj_init = []
obj_init.append("jpg")
obj_init.append("png")
obj_init.append("bmp")
obj_init.append("apng")
obj_init.append("dicom")
obj_init.append("jp2")
obj_init.append("j2k")
obj_init.append("tga")
obj_init.append("webp")
obj_init.append("tif")
obj_init.append("gif")
obj_init.append("ico")
raster_formats = obj_init
obj_init2 = []
obj_init2.append("svg")
obj_init2.append("otg")
obj_init2.append("odg")
obj_init2.append("eps")
obj_init2.append("wmf")
obj_init2.append("emf")
obj_init2.append("wmz")
obj_init2.append("emz")
obj_init2.append("cmx")
obj_init2.append("cdr")
vector_formats = obj_init2
all_formats = []
all_formats.extend(raster_formats)
all_formats.extend(vector_formats)
for format_ext in all_formats:
input_file = os.path.join(templates_folder, f"template.{format_ext}")
if not os.path.exists(input_file):
continue
is_vector_format = format_ext in vector_formats
if is_vector_format:
input_file = rasterize_vector_image(format_ext, input_file)
output_file = os.path.join(templates_folder, f"{filter_name}_{format_ext}.png")
print(format_ext)
# explicit type casting from Image to RasterImage
with as_of(Image.load(input_file), RasterImage) as image:
do_filter(image)
multi_page = None
# if image implements an IMultipageImage interface
if is_assignable(image, IMultipageImage):
multi_page = as_of(image, IMultipageImage)
if multi_page is not None and multi_page.page_count > 1:
# for loop
for_first_step = True
page_index = 0
for page in multi_page.pages:
file_name = f"{filter_name}_page{page_index}_{format_ext}.png"
page.save(templates_folder + file_name, PngOptions())
os.remove(templates_folder + file_name)
page_index += 1
else:
image.save(output_file, PngOptions())
delete_file(output_file)
if is_vector_format:
delete_file(input_file)
def rasterize_vector_image(format_ext, input_file):
output_file = os.path.join(templates_folder, f"rasterized.{format_ext}.png")
with Image.load(input_file) as image:
image.save(output_file, PngOptions())
return output_file
def delete_file(file):
if delete_output:
os.remove(file)
# Run filters
binarize_fixed()
# binarize_bradley()
# binarize_otsu()
 
  • Sobre o Aspose.Imaging para a API Python

    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.

    Binarize APNGs via aplicativo on-line

    Binarize documentos APNG 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 APNG e clicar no botão "Binarizar agora"
      Obtenha instantaneamente o link de download para o arquivo resultante

    APNG O que é APNG Formato de arquivo

    Um arquivo com extensão .apng (Animated Portable Network Graphics) é um formato gráfico raster e é uma extensão não oficial do Portable Network Graphic (PNG ). É composto por vários quadros (cada um de imagem PNG) que representa uma sequência de animação. Isso fornece uma visualização semelhante a um arquivo GIF. Os arquivos APNG suportam imagens de 24 bits e transparência de 8 bits. APNG é compatível com arquivos GIF não animados. Os arquivos APNG usam a mesma extensão .png e podem ser abertos por aplicativos como Mozilla Firefox, Chrome com suporte a APNG, aplicativos iMessage para iOS 10.

    consulte Mais informação

    Outros formatos de binarização suportados

    Usando Python, pode-se facilmente Binarizar diferentes formatos, incluindo.

    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)
    JP2 (JPEG 2000)
    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)