Python es conocido por su versatilidad. Puede crear herramientas de utilidad del mundo real en Python que pueden simplificar y automatizar ciertas tareas.

Aprenda a crear un convertidor de tipo de imagen con solo unas pocas líneas de código Python. Ya sea un solo archivo de imagen o todos los archivos en un directorio, puede convertir fácilmente entre diferentes formatos.

Instalación de bibliotecas necesarias

Necesitas instalar el Almohada Biblioteca de Python para construir un convertidor de tipo de imagen en Python. Esta biblioteca mejora las capacidades de procesamiento de imágenes de su intérprete de Python. Puede crear una herramienta general de procesamiento de imágenes utilizando varios módulos de esta biblioteca. Algunos de los más útiles son los Imagen, Archivo de imagen, filtro de imagen, y ImageStat módulos.

Ejecute el siguiente comando en la terminal para instalar la biblioteca Pillow Python:

pepita instalar almohada

Una vez que haya instalado Pillow en su sistema, estará listo para trabajar con imágenes.

instagram viewer

Cargar y mostrar las propiedades de una imagen

Primero necesitas importar el Imagen módulo de la PIL biblioteca para configurar el código. A continuación, debe utilizar el Imagen.open() para cargar la imagen y asignarla a una variable. Una vez que haya cargado la imagen, puede mostrarla usando el espectáculo() método.

El código del convertidor de formato de imagen está disponible en un repositorio GitHub y es gratis para su uso bajo la Licencia MIT.

de PIL importar Imagen
imagen = Imagen.abrir('imagen-de-muestra.jpg')
imagen.espectáculo()

La imagen que pasaste como parámetro al abierto() El método se abrirá después de ejecutar el código. Este es un buen primer paso, como control de cordura, para asegurarse de que ha instalado correctamente la biblioteca en su sistema.

El módulo Imagen proporciona varias otras propiedades que puede usar para obtener más información sobre la imagen.

#Importando biblioteca
de PIL importar Imagen

# Cargando la imagen
imagen = Imagen.abrir('imagen-de-muestra.jpg')

# Imprime el nombre del archivo
imprimir("Nombre del archivo: ", imagen.nombre de archivo)

# Imprime el formato del archivo
# Por ejemplo, PNG, JPG, GIF, etc.
imprimir("Formato: ", formato de imagen)

# Imprime el modo del archivo
# Por ejemplo, RGB, RFBA, CMYK, etc.
imprimir("Modo: ", modo de imagen)

# Imprime el tamaño como una tupla de ancho y alto (en píxeles)
imprimir("Tamaño: ", tamaño de la imagen)

# Imprime el ancho de la imagen (en píxeles)
imprimir("Ancho: ", ancho de la imagen)

# Imprime la altura de la imagen (en píxeles)
imprimir("Altura: ", Altura de imagen)

# Cerrando la imagen
imagen.cerca()

Debería ver algunos datos significativos sin errores:

Cómo convertir formato de imagen usando Python

Simplemente puede convertir el formato de archivo de una imagen usando el ahorrar() método. Solo necesitas pasar el nuevo Nombre del archivo y la extensión como parámetro de la ahorrar() método. El ahorrar() El método identificará automáticamente la extensión que pasó y luego guardará la imagen en el formato identificado. Pero antes de usar el ahorrar() método, es posible que deba especificar el modo de la imagen (RGB, RGBA, CMYK, HSV, etc.).

De acuerdo a la documentación oficial de la almohada, el modo de una imagen es una cadena que define el tipo y la profundidad de un píxel en la imagen. La biblioteca de almohadas admite 11 modos, incluidos los siguientes modos estándar:

RGB (píxeles de 3x8 bits, color verdadero)

RGBA (píxeles de 4x8 bits, color verdadero con máscara de transparencia)

CMYK (píxeles de 4x8 bits, separación de color)

VHS (píxeles de 3x8 bits, tono, saturación, espacio de color de valor)

Cómo convertir una imagen de PNG a JPG y de JPG a PNG

Tienes que pasar la cadena nombre de archivo.jpg como parámetro de la ahorrar() método para convertir archivos de imagen en cualquier formato (PNG, GIF, BMP, TIFF, etc.) a formato JPG. Además, debe proporcionar el modo de la imagen. El siguiente código convierte una imagen de formato PNG a formato JPG:

# Biblioteca de importación
de PIL importar Imagen

# Cargando la imagen
imagen = Imagen.abrir('muestra-png-imagen.png')

# Especificando el modo RGB a la imagen
imagen = imagen.convertir('RGB')

# Convertir una imagen de formato PNG a JPG
imagen.guardar("imagen-jpg-convertida.jpg")
imprimir("¡Imagen convertida con éxito!"

Perderá cualquier transparencia en una imagen si la convierte a formato JPG. Si intenta conservar la transparencia utilizando el RGBA modo, Python arrojará un error.

Puede convertir una imagen en cualquier formato a formato PNG usando el ahorrar() método. Solo necesita pasar la imagen PNG como parámetro al ahorrar() método. El siguiente código convierte una imagen de formato JPG a formato PNG:

# Biblioteca de importación
de PIL importar Imagen

# Cargando la imagen
imagen = Imagen.abrir('muestra-jpg-imagen.jpg')

# Conversión de imagen de formato JPG a PNG
imagen.guardar("imagen-png-convertida.png")
imprimir("¡Imagen convertida con éxito!")

Convertir una imagen a PNG conserva cualquier transparencia. Por ejemplo, si convierte una imagen GIF transparente en una imagen PNG, el resultado seguirá siendo una imagen transparente.

Cómo convertir una imagen a cualquier otro formato usando Python

Similar a los pasos anteriores, puede convertir una imagen en cualquier formato a cualquier otro formato usando el ahorrar() método. Solo necesita proporcionar la extensión de imagen correcta (.webp, .png, .bmp, etc.) a la ahorrar() método. Por ejemplo, el siguiente código convierte una imagen de PNG a formato WebP:

# Biblioteca de importación
de PIL importar Imagen

# Cargando la imagen
imagen = Imagen.abrir('muestra-transparente-png-imagen.png')

# Convertir una imagen de formato PNG a WEBP
imagen.guardar("convertido-webp-imagen.webp")
imprimir("¡Imagen convertida con éxito!")

Manejo de errores para archivos de imagen faltantes

En caso de que el código no pueda encontrar la imagen de entrada, arrojará un error. Puede manejar esto usando el Error de archivo no encontradoexcepción de pitón.

# Biblioteca de importación
de PIL importar Imagen

intentar:
# Cargando la imagen
imagen = Imagen.abrir('nombre-de-archivo-erroneo.jpg')

# Conversión de imagen de formato JPG a PNG
imagen.guardar("imagen-png-convertida.png")
imprimir("¡Imagen convertida con éxito!")

excepto Error de archivo no encontrado:
imprimir("podría't encontrar la imagen proporcionada")

Conversión de todas las imágenes de un directorio a un formato diferente

Si hay varios archivos de imagen en un directorio que desea convertir a un formato diferente, puede hacerlo fácilmente con solo unas pocas líneas de código en Python. Tienes que importar el globo biblioteca para iterar a través de los archivos en el directorio actual o dentro de una carpeta determinada. El siguiente código convierte todas las imágenes JPG en el directorio actual al formato PNG:

de PIL importar Imagen
importar globo

para archivo en glob.glob("*.jpg"):
imagen = Imagen.abrir (archivo)
imagen.guardar (archivo.reemplazar("jpg", "png"))

Si desea convertir un conjunto diferente de archivos, cambie el parámetro de cadena que pasa al globo() método.

Construya una GUI usando Python

Las bibliotecas de Python como Pillow facilitan el desarrollo de herramientas para manejar imágenes en Python. Puede realizar tareas rápidamente con una interfaz de línea de comandos, pero una GUI es esencial para crear una experiencia fácil de usar. Puede crear aplicaciones GUI más especializadas utilizando marcos de Python como Tkinter y wxPython.