Fusionar fotos en Python

Esta guía cubre los detalles para fusionar photos en Python. Explica la configuración del entorno, el flujo del programa paso a paso y un código de muestra funcional para crear un unidor de fotos en Python. Además, no se necesitan aplicaciones de procesamiento de imágenes adicionales para integrar esta función en sus programas.

Pasos para fusionar fotos en Python

  1. Prepare el sistema configurando Aspose.Imaging for Python para fusionar fotos
  2. Cree una lista de imágenes de origen y calcule las dimensiones de la imagen fusionada
  3. Combine las imágenes cargadas y defina una fuente de salida
  4. Establecer propiedades personalizadas de la clase JpegOptions
  5. Exportar la imagen fusionada de salida con el objeto de clase JpegImage

Los pasos anteriores resumen el proceso para combinar fotos en Python. Primero, debes enumerar diferentes imágenes para fusionarlas en una sola imagen. Luego, calcula las dimensiones y el contenido de la nueva imagen antes de renderizar la imagen de salida mientras la exportas al disco o a una transmisión en tiempo real según el diseño de tu aplicación.

Código para crear un combinador de imágenes en Python

import aspose.imaging
import aspose.pycore as aspycore
from aspose.imaging import Image, Rectangle, RasterImage
from aspose.imaging.imageoptions import JpegOptions
from aspose.imaging.sources import StreamSource
from aspose.imaging.fileformats.jpeg import JpegImage
from aspose.imaging.extensions import StreamExtensions
import os
import functools
data_dir = "C://SampleFiles//"
license = aspose.imaging.License()
license.set_license(data_dir + "License.lic")
delete_output = 'SAVE_OUTPUT' not in os.environ
#data_dir = templates_folder
image_paths = [os.path.join(data_dir, "grayscaled.jpg"), os.path.join(data_dir, "grayscaled.jpg")]
output_path = os.path.join(data_dir, "mergedresult.jpg")
temp_file_path = os.path.join(data_dir, "tempmerge.jpg")
# Getting resulting image size.
image_sizes = []
for image_path in image_paths:
with Image.load(image_path) as image:
image_sizes.append(image.size)
new_width = 0
new_height = 0
for size in image_sizes:
new_height += size.height
new_width = max(new_width, size.width)
# Combining images into new one.
with StreamExtensions.create_memory_stream() as memory_stream:
output_stream_source = StreamSource(memory_stream)
with JpegOptions() as options:
options.source = output_stream_source
options.quality = 100
with aspycore.as_of(Image.create(options, new_width, new_height), JpegImage) as new_image:
stitched_height = 0
for image_path in image_paths:
with aspycore.as_of(Image.load(image_path), RasterImage) as image:
bounds = Rectangle(0, stitched_height, image.width, image.height)
new_image.save_argb_32_pixels(bounds, image.load_argb_32_pixels(image.bounds))
stitched_height += image.height
new_image.save(output_path)

Este fragmento de código es suficiente para crear un combinador de imágenes básico en Python. Funciona con varios métodos expuestos por la clase JpegImage para generar la foto de salida y leer las dimensiones de las imágenes de entrada. Posteriormente, define un rectángulo y renderiza la foto generada invocando el método Save. Además, puedes personalizar la imagen generada según tus necesidades configurando el factor de escala, el perfil de color RGB, el modo de redondeo de la muestra, etc.

En este artículo, aprendiste a combinar imágenes en Python. Si quieres aprender a recortar imágenes, consulta el artículo sobre Recortar imagen en Python.

 Español