PPTX DOCX XLSX PDF ODP
Aspose.Imaging  per Python
APNG

Utilizza Python per la binarizzazione delle immagini APNG

Crea app Python per binarizzare immagini e foto APNG tramite API server

Come binarizzare immagini e foto APNG con Python

L’introduzione della fotografia a colori ha segnato un cambiamento fondamentale nella sfera fotografica. Tuttavia, il fascino della classica immagine in bianco e nero persiste ancora. Nonostante la prevalenza delle fotocamere a colori, molte persone scelgono ancora di convertire le proprie fotografie in bianco e nero. Questa trasformazione viene generalmente ottenuta attraverso un processo di binarizzazione, sostituendo ciascun pixel con un valore binario: “0” per il bianco e “1” per il nero. Le immagini in bianco e nero vengono spesso utilizzate per scopi che vanno oltre i semplici scopi artistici, trovando applicazione pratica in scenari come la stampa di illustrazioni in pubblicazioni come libri e giornali. All’interno della libreria grafica Python, hai la possibilità di impostare una soglia di luminosità dei pixel. I pixel al di sotto di questa soglia assumono un colore nero, mentre quelli al di sopra adottano un colore bianco. È disponibile anche una tecnica di binarizzazione adattiva, che considera i valori dei pixel circostanti per creare transizioni continue tra i confini dei colori nell’immagine in bianco e nero risultante. Per binarizzare i file APNG, utilizzeremo Aspose.Imaging per Python tramite .NET API che è un’API di manipolazione e conversione delle immagini ricca di funzionalità, potente e facile da usare per la piattaforma Python. Puoi installarlo usando il seguente comando dal tuo comando di sistema.

La riga di comando del sistema

>> pip install aspose-imaging-python-net

Passaggi per binarizzare APNG tramite Python

Hai bisogno di aspose-imaging-python-net per provare il seguente flusso di lavoro nel tuo ambiente.

  • Carica file APNG 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 Python è supportato su tutti i principali sistemi operativi. Assicurati solo di avere i seguenti prerequisiti.

  • Microsoft Windows/Linux con .NET Core Runtime.
  • Gestore di pacchetti Python e PyPi.
 

Binarizza immagini 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()
 
  • Informazioni su Aspose.Imaging per l'API Python

    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 APNG tramite l’app online

    Binarizzare i documenti APNG visitando il nostro sito web demo live . La demo dal vivo ha i seguenti vantaggi

      Non è necessario scaricare o configurare nulla
      Non c'è bisogno di scrivere alcun codice
      Basta caricare i tuoi file APNG e premere il pulsante "Binarizza ora".
      Ottieni immediatamente il link per il download del file risultante

    APNG Cos'è APNG Formato del file

    Un file con estensione .apng (Animated Portable Network Graphics) è un formato grafico raster ed è un'estensione non ufficiale di Portable Network Graphic (PNG). Comprende più fotogrammi (ciascuno di un'immagine PNG) che rappresenta una sequenza di animazione. Ciò fornisce una visualizzazione simile a quella di un file GIF. I file APNG supportano immagini a 24 bit e trasparenza a 8 bit. APNG è compatibile con le versioni precedenti di file GIF non animati. I file APNG utilizzano la stessa estensione .png e possono essere aperti da applicazioni come Mozilla Firefox, Chrome con supporto APNG, app iMessage per iOS 10.

    Per saperne di più

    Altri formati di binarizzazione supportati

    Usando Python, si possono facilmente binarizzare diversi formati tra cui.

    BMP (Immagine bitmap)
    ICO (Icona di Windows)
    JPG (Gruppo congiunto di esperti fotografici)
    JPEG (Gruppo congiunto di esperti fotografici)
    DIB (Bitmap indipendente dal dispositivo)
    DICOM (Immagini e comunicazioni digitali)
    DJVU (Formato grafico)
    DNG (Immagine della fotocamera digitale)
    EMF (Formato Metafile migliorato)
    EMZ (Metafile avanzato compresso di Windows)
    GIF (Formato di scambio grafico)
    JP2 (JPEG 2000)
    J2K (Immagine compressa Wavelet)
    PNG (Grafica di rete portatile)
    TIFF (Formato immagine contrassegnato)
    TIF (Formato immagine contrassegnato)
    WEBP (Immagine web raster)
    WMF (Metafile di Microsoft Windows)
    WMZ (Skin compressa di Windows Media Player)
    TGA (Grafica Targa)
    SVG (Grafica vettoriale scalabile)
    EPS (Linguaggio PostScript incapsulato)
    CDR (Immagine di disegno vettoriale)
    CMX (Immagine di scambio di Corel)
    OTG (Standard OpenDocument)
    ODG (Formato Apache OpenOffice Draw)