PPTX DOCX XLSX PDF ODP
Aspose.Imaging  per Python
DNG

Utilizza Python per applicare filtri per immagini DNG

Crea app Python per filtrare immagini e foto DNG tramite API server

Come filtrare immagini e foto DNG con Python

Ogni foto ben catturata racchiude in sé un potenziale di miglioramento, un’opportunità di evolversi in qualcosa di completamente distinto ed emergere come una creazione unica nel suo genere. I filtri rappresentano uno strumento versatile per il miglioramento di immagini e foto, consentendo di migliorare selettivamente la nitidezza, introdurre sfocature o eliminare artefatti di colore per un risultato davvero distintivo. Sperimenta gli effetti immagine singolarmente o in combinazione per fondere perfettamente le sfumature di colore, eliminare i disturbi indesiderati e migliorare la nitidezza dei bordi degli oggetti nella foto. Per applicare questi filtri immagine ai file DNG, 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 filtrare DNG tramite Python

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

  • Carica file DNG con il metodo Image.Load
  • Filtra 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.
 

Filtra immagini DNG - Python

from aspose.imaging import RasterImage, Image, IMultipageImage, Rectangle
from aspose.imaging.imagefilters.filteroptions import *
from aspose.imaging.imageoptions import PngOptions
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 delete_file(file):
if delete_output:
os.remove(file)
def small_rectangular_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), SmallRectangularFilterOptions()), "smallrectangular")
def big_rectangular_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), BigRectangularFilterOptions()), "bigrectangular")
def sharpen_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), SharpenFilterOptions()), "sharpen")
def motion_wiener_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), MotionWienerFilterOptions(20, 2, 0)), "motionwiener")
def bilateral_smoothing_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), BilateralSmoothingFilterOptions()), "bilateralsmoothing")
def gauss_blur_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), GaussianBlurFilterOptions(5, 4)), "gaussblur")
def gauss_wiener_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), GaussWienerFilterOptions(5, 5)), "gausswiener")
def median_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), MedianFilterOptions(20)), "median")
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("tiff")
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 = raster_formats
all_formats.extend(vector_formats)
for format_ext in all_formats:
input_file = os.path.join(templates_folder, f"template.{format_ext}")
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:
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:
page_index = 0
for page in multi_page.pages:
file_name = f"{filter_name}_page{page_index}_{format_ext}.png"
do_filter(as_of(page, RasterImage))
page.save(templates_folder + file_name, PngOptions())
delete_file(templates_folder + file_name)
page_index += 1
else:
do_filter(image)
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, "rasterized.{format_ext}.png")
with Image.load(input_file) as image:
image.save(output_file, PngOptions())
return output_file
# run
median_filter()
 
  • 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.

    Filtra DNG tramite l’app online

    Filtra i documenti DNG visitando il nostro sito web di demo live . La demo dal vivo ha i seguenti vantaggi

      Non è necessario scaricare o configurare nulla
      Non c'è bisogno di scrivere alcun codice
      Carica i tuoi file DNG e premi il pulsante "Filtra ora".
      Ottieni immediatamente il link per il download del file risultante

    DNG Cos'è DNG Formato del file

    DNG è un formato di immagine della fotocamera digitale utilizzato per l'archiviazione di file grezzi. È stato sviluppato da Adobe nel settembre 2004. Fondamentalmente è stato sviluppato per la fotografia digitale. DNG è un'estensione del formato standard TIFF/EP e utilizza i metadati in modo significativo. Per manipolare i dati grezzi dalle fotocamere digitali con facilità di flessibilità e controllo artistico, i fotografi scelgono i file raw della fotocamera. I formati JPEG e TIFF memorizzano le immagini che vengono elaborate dalla fotocamera, quindi non è disponibile molto spazio per le modifiche in tali formati.

    Per saperne di più

    Altri formati di filtro supportati

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

    APNG (Grafica di rete portatile animata)
    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)
    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)