En este artículo veremos cómo trabajar con imágenes usando Pillow en Python. Discutiremos operaciones básicas como crear, guardar y rotar imágenes. Entonces, comencemos a discutir en detalle, pero primero, veamos cómo instalar la Pillow.
Instalación
Para instalar este paquete, escriba el siguiente comando en la terminal.
pip install pillow
Creando nueva imagen
Puede crear una nueva imagen utilizando el método PIL.Image.new() . Este método crea una nueva imagen con el modo y tamaño dados. El tamaño se proporciona como una tupla (ancho, alto), en píxeles
Sintaxis: PIL.Image.new(modo, tamaño, color)
Código:
Python3
import PIL image = PIL.Image.new(mode = "RGB", size = (200, 200), color = (255, 153, 255)) image.show()
Producción:
Imagen de apertura
Puede abrir cualquier imagen usando el método PIL.Image.open() .
Sintaxis: PIL.Imagen.open(fp, modo=’r’)
Código:
Python3
from PIL import Image image = Image.open('nature.jpg') image.show()
Producción:
Obtener información sobre la imagen
- Obtener el formato de la imagen: el método obj.format devuelve el formato del archivo de imagen.
Python3
from PIL import Image img = Image.open("test.png") print(img.format)
Producción:
PNG
- Obtener el tamaño de la imagen: el atributo obj.size proporciona el tamaño de la imagen. Devuelve una tupla que contiene ancho y alto.
Python3
from PIL import Image img = Image.open("test.png") print(img.size)
Producción:
(180, 263)
Cambiar el nombre y guardar la imagen
Podemos cambiar el nombre, el formato de la imagen y también podemos renombrarla usando el método image.save() .
Sintaxis: Image.save(fp, formato=Ninguno, **parámetros)
Código:
Python3
from PIL import Image image = Image.open('nature.jpg') image.show() image.save('nature1.bmp') image1 = Image.open('nature1.bmp') image1.show()
Producción:
Recortar la imagen
PIL es la biblioteca de imágenes de Python que proporciona al intérprete de Python capacidades de edición de imágenes. El método PIL.Image.crop() se utiliza para recortar una parte rectangular de cualquier imagen.
Sintaxis: PIL.Imagen.crop(caja = Ninguno)
Código:
Python3
from PIL import Image # Open image im = Image.open("nature.jpg") # Show actual Image im.show() # Show cropped Image im = im.crop((0,0,50,50) im.show()
Producción:
Rotando la imagen
El método PIL.Image.Image.rotate() se usa para rotar una imagen dada el número dado de grados en sentido contrario a las agujas del reloj alrededor de su centro.
Sintaxis: new_object = PIL.Image.Image.rotate(image_object, angle, resample=0, expand=0) OR new_object = image_object.rotate(angle, resample=0, expand=0)
Código:
Python3
from PIL import Image # Open image im = Image.open("nature.jpg") # Show actual Image im.show() # Show rotated Image im = im.rotate(45) im.show()
Producción:
Filtrando la imagen
La versión actual de la biblioteca de Pillow proporciona el conjunto de filtros de mejora de imagen predefinidos que se menciona a continuación.
- DIFUMINAR
- CONTORNO
- DETALLE
- EDGE_MEJOR
- EDGE_MEJORA_MÁS
- REALZAR
- ENCONTRAR BORDES
- AFILAR
- SUAVE
- SUAVE_MÁS
Imagen.filtro()
Sintaxis: filtro (núcleo)
Toma un núcleo (predefinido o personalizado) y cada píxel de la imagen a través de él (Convolución del núcleo).
Código:
Python3
# Import required image modules from PIL import Image, ImageFilter # Import all the enhancement filter from pillow from PIL.ImageFilter import ( BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE, EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN ) # Create image object img = Image.open('nature.jpg') # Applying the sharpen filter # You can change the value in filter function # to see the deifferences img1 = img.filter(SHARPEN) img1.show()
Producción:
Crear una marca de agua en la imagen
Aquí, puede crear una marca de agua usando ImageDraw.Draw.text() Este método dibuja la string en la posición dada.
Sintaxis: ImageDraw.Draw.text(xy, texto, relleno=Ninguno, fuente=Ninguno, ancla=Ninguno, espaciado=0, alineación=”izquierda”)
Código:
Python3
# Import required Image library from PIL import Image, ImageDraw, ImageFont # Create an Image Object from an Image im = Image.open('nature.jpg') width, height = im.size draw = ImageDraw.Draw(im) text = "lovely nature" font = ImageFont.truetype('arial.ttf', 36) textwidth, textheight = draw.textsize(text, font) # calculate the x,y coordinates of # the text x = 100 y = 50 # draw watermark in the bottom right # corner draw.text((x, y), text, font=font) im.show() # Save watermarked image im.save('watermark.jpg')
Producción:
Publicación traducida automáticamente
Artículo escrito por priyampatel9911 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA