Saltar al pie de página
AYUDA DE PYTHON

imageio python (Cómo Funciona para Desarrolladores)

Imageio es una versátil biblioteca de Python diseñada para leer y escribir una amplia gama de datos de imágenes, incluyendo imágenes animadas, datos volumétricos y formatos científicos. Proporciona una API simple y consistente, lo que lo hace una elección excelente para desarrolladores y científicos de datos que trabajan con tareas de procesamiento de datos de imágenes. En este artículo, exploraremos cómo Imageio puede ser utilizado para leer y escribir imágenes, más adelante también analizaremos IronPDF de Iron Software para generar documentos PDF. Ambos paquetes pueden ser utilizados para crear imágenes y almacenarlas en documentos PDF con fines de archivado.

¿Por qué utilizar Imageio?

Imageio ofrece varias ventajas:

  1. Compatibilidad Con Una Variedad de Formatos: Soporta numerosos formatos de imagen, incluyendo PNG, JPEG, GIF, TIFF y más.
  2. Facilidad de Uso: La API es fácil de usar, incluso para principiantes.
  3. Compatibilidad Multiplataforma: Imageio funciona en varios sistemas operativos, incluyendo Windows, macOS y Linux.
  4. Integración con otras bibliotecas: Puede ser utilizado junto con otras bibliotecas de Python como NumPy y Matplotlib para procesamiento de imágenes avanzado y visualización.

Cómo empezar con Imageio

Instalación

Puede instalar Imageio utilizando pip:

pip install imageio
pip install imageio
SHELL

Uso básico

Aquí hay un ejemplo simple para demostrar cómo leer y escribir imágenes usando Imageio:

import imageio.v3 as iio

# Read an image
image = iio.imread('image.jpg')
print(image.shape)  # Output: (329, 559, 3)

# Write the image to a new file
iio.imwrite('newimage.jpg', image)
import imageio.v3 as iio

# Read an image
image = iio.imread('image.jpg')
print(image.shape)  # Output: (329, 559, 3)

# Write the image to a new file
iio.imwrite('newimage.jpg', image)
PYTHON

En este ejemplo, Imageio lee un archivo de imagen e imprime su forma. Luego escribe la imagen en un nuevo archivo.

Resultado

imageio python (Cómo Funciona para Desarrolladores): Figura 1 - Leer y Escribir Imagen usando Imageio

Características avanzadas

Imageio proporciona muchas características avanzadas para tareas de procesamiento de imágenes más complejas:

  1. Lectura desde Varias Fuentes: Imageio puede leer imágenes desde archivos, URLs e incluso flujos de bytes.
  2. Imágenes Animadas: Soporta lectura y escritura de imágenes animadas como GIFs.
  3. Procesamiento de Video: Imageio puede manejar archivos de video, permitiéndote leer y escribir cuadros de video.
  4. Datos Volumétricos: Soporta lectura y escritura de datos volumétricos, lo cual es útil para aplicaciones científicas.

Ejemplo: Creación de un GIF

Aquí tienes un ejemplo de cómo crear un GIF a partir de una serie de imágenes usando Imageio:

import imageio.v2 as imageio
import numpy as np  # Import NumPy for numerical operations

# List of image file paths
image_files = ['img1.jpg', 'img2.jpg']  # Specify your image files here

# Read images and store them in a list
images = []
for file in image_files:
    images.append(imageio.imread(file))

# Save the images as a GIF
imageio.mimsave('output2.gif', images, duration=1.0)  # Duration is in seconds per frame
import imageio.v2 as imageio
import numpy as np  # Import NumPy for numerical operations

# List of image file paths
image_files = ['img1.jpg', 'img2.jpg']  # Specify your image files here

# Read images and store them in a list
images = []
for file in image_files:
    images.append(imageio.imread(file))

# Save the images as a GIF
imageio.mimsave('output2.gif', images, duration=1.0)  # Duration is in seconds per frame
PYTHON

En este ejemplo, Imageio lee una serie de imágenes y crea un GIF animado.

imageio python (Cómo Funciona para Desarrolladores): Figura 2 - Salida GIF

Presentando IronPDF

imageio python (Cómo Funciona para Desarrolladores): Figura 3 - IronPDF: La Biblioteca PDF para Python

IronPDF es una poderosa biblioteca de Python diseñada para crear, editar y firmar PDFs usando HTML, CSS, imágenes y JavaScript. Ofrece rendimiento de nivel comercial con un bajo consumo de memoria y una interfaz sencilla. Las características clave incluyen:

Conversión de HTML a PDF:

Convierte archivos HTML, cadenas HTML y URLs a PDFs. Por ejemplo, renderiza una página web como PDF utilizando el renderizador PDF de Chrome.

Soporte Multiplataforma:

IronPDF está diseñado para Python 3+ y también se ejecuta en Windows, Mac, Linux o plataformas en la nube.
IronPDF también está disponible en .NET, Java, Python y Node.js.

Edición y Firma:

Establece propiedades, añade seguridad con contraseñas y permisos, y aplica firmas digitales a tus PDFs.

Plantillas de Páginas y Configuración:

Puedes personalizar PDFs con encabezados, pies de página, números de página y márgenes ajustables. Además, soporta tamaños de papel personalizados y diseños responsivos.

Cumplimiento de Estándares:

Cumple con los estándares PDF, incluyendo PDF/A y PDF/UA, soporta codificación de caracteres UTF-8 y gestiona recursos como imágenes, CSS y fuentes.

Instalación

 pip install ironpdf

Generar documentos PDF con IronPDF e Imageio

Prerrequisitos

  1. Asegúrate de que Visual Studio Code esté instalado como editor de código
  2. La versión 3 de Python esté instalada

Para empezar, crearemos un archivo Python para añadir nuestros guiones.

Abre Visual Studio Code y crea un archivo, ImageioDemo.py.

Instale las bibliotecas necesarias:

pip install imageio
pip install ironpdf
pip install imageio
pip install ironpdf
SHELL

Luego agrega el siguiente código para demostrar el uso de los paquetes de python IronPDF e Imageio.

import imageio.v2 as imageio
import numpy as np
from ironpdf import * 

# Apply your license key
License.LicenseKey = "your-key"

# List of image file paths
image_files = ['img1.jpg', 'img2.jpg', 'img3.jpg']

# Read images and store them in a list
images = []
for file in image_files:
    images.append(imageio.imread(file))

# Save the images as a GIF
imageio.mimsave('output2.gif', images, duration=0.5)  # Duration is in seconds per frame

# Convert the GIF to PDF
ImageToPdfConverter.ImageToPdf("output2.gif").SaveAs("ironPdf-imageio.pdf")
import imageio.v2 as imageio
import numpy as np
from ironpdf import * 

# Apply your license key
License.LicenseKey = "your-key"

# List of image file paths
image_files = ['img1.jpg', 'img2.jpg', 'img3.jpg']

# Read images and store them in a list
images = []
for file in image_files:
    images.append(imageio.imread(file))

# Save the images as a GIF
imageio.mimsave('output2.gif', images, duration=0.5)  # Duration is in seconds per frame

# Convert the GIF to PDF
ImageToPdfConverter.ImageToPdf("output2.gif").SaveAs("ironPdf-imageio.pdf")
PYTHON

Explicación del código

Este script convierte una lista de archivos de imagen (img1.jpg, img2.jpg, img3.jpg) en un GIF y luego convierte ese GIF en un documento PDF.

  1. Importación de Bibliotecas:

    • imageio.v2 as imageio: Importa la biblioteca imageio para procesamiento de imágenes.
    • numpy as np: Importa NumPy para operaciones numéricas (aunque no se usa explícitamente en el fragmento de código proporcionado).
    • from ironpdf import *: Importa funciones necesarias de la biblioteca IronPDF.
  2. Clave de Licencia:

    • License.LicenseKey = "tu-clave": Establece la clave de licencia para la biblioteca IronPDF. Reemplaza "tu-clave" con la clave de licencia real.
  3. Lista de Archivos de Imágenes:

    • image_files = ['img1.jpg', 'img2.jpg', 'img3.jpg']: Define una lista que contiene rutas a tres archivos de imagen (img1.jpg, img2.jpg, img3.jpg).
  4. Lectura de Imágenes:

    • for file in image_files: images.append(imageio.imread(file)): Itera a través de cada ruta de archivo en image_files, lee la imagen usando imageio.imread() y añade los datos de la imagen a la lista images.
  5. Creación de un GIF:

    • imageio.mimsave('output2.gif', images, duration=0.5): Guarda las imágenes almacenadas en la lista images como un archivo GIF llamado 'output2.gif'. El parámetro duration=0.5 especifica la duración (en segundos) para cada cuadro en el GIF.
  6. Conversión de GIF a PDF:
    • ImageToPdfConverter.ImageToPdf("output2.gif").SaveAs("ironPdf-imageio.pdf"): Convierte el archivo GIF ("output2.gif") generado en el paso anterior a PDF usando ImageToPdfConverter de IronPDF y lo guarda como "ironPdf-imageio.pdf".

El script primero lee múltiples archivos de imagen, los compila en una animación GIF con duraciones de cuadro especificadas y luego convierte esta animación GIF en un documento PDF usando funcionalidades de la biblioteca IronPDF. Las imágenes GIF se almacenan como una serie de imágenes en el PDF como se muestra a continuación.

Resultado

imageio python (Cómo Funciona para Desarrolladores): Figura 4 - GIF Animado

PDF

imageio python (Cómo Funciona para Desarrolladores): Figura 5 - Salida PDF

Licencia de IronPDF

IronPDF se ejecuta con la clave de licencia para Python. IronPDF para Python ofrece una clave de licencia de prueba gratuita para permitir a los usuarios probar sus amplias características antes de la compra.

Coloca la clave de licencia al inicio del guión antes de usar el paquete IronPDF:

from ironpdf import * 
# Apply your license key
License.LicenseKey = "your-key"
from ironpdf import * 
# Apply your license key
License.LicenseKey = "your-key"
PYTHON

Conclusión

Imageio es una poderosa y flexible biblioteca para el procesamiento de imágenes en Python. Su facilidad de uso, soporte para una variedad de formatos y características avanzadas la hacen una herramienta valiosa para desarrolladores y científicos de datos. Ya sea que necesites realizar manipulaciones simples de imágenes o manejar datos de imagen/volumétricos complejos, Imageio proporciona la funcionalidad que necesitas en un paquete fácil de usar. IronPDF es una versátil biblioteca de Python diseñada para crear, manipular y convertir documentos PDF. Soporta tareas como la generación de PDFs desde cero, la conversión de HTML e imágenes a PDFs, y la realización de varias operaciones de documentos como la fusión de archivos y la securización de PDFs. Es compatible con múltiples plataformas e integra sin problemas con aplicaciones Python, lo que lo convierte en una herramienta poderosa para manejar tareas relacionadas con PDFs de forma programada.

Junto con estas bibliotecas, podemos trabajar con el procesamiento de imágenes y almacenar los resultados en formato PDF con fines de archivado.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más