En este artículo veremos cómo se realiza la creación de una marca de agua utilizando la biblioteca Pillow en Python. Pillow es una biblioteca de imágenes de Python (PIL) que se utiliza para manipular imágenes y trabajar en diferentes formatos de imágenes como (‘jpeg’, ‘png’, ‘gif’, ‘tiff’, etc.). Hay varios procesamientos de imágenes que puede hacer usando la biblioteca de Pillows, como cambiar el tamaño, crear marcas de agua, rotar la imagen, fusionar varias imágenes, desenfocar la imagen, etc. PIL muestra la imagen en un visor de fotos.
Instalación:
Para instalar la biblioteca, ejecute el siguiente comando en su símbolo del sistema.
python -m pip install pip
o
python -m pip install pillow
Si pip y pillow ya están instalados en su dispositivo, el sistema mencionará «Requisito ya satisfecho:»
Hay dos tipos de marca de agua:
- marca de agua de texto,
- Marca de agua de la imagen.
Marca de agua de texto
Es un enfoque para la protección de los derechos de autor de la documentación de texto. En una imagen, podemos colocar texto personalizado simple en imágenes en diferentes fuentes y formatos.
Paso 1: importa todas las bibliotecas
Python3
# importing the library from PIL import Image import matplotlib.pyplot as plt import numpy as np
Paso 2: Abre la imagen usando un visor de fotos.
Python3
image = Image.open("puppy.jpg") # this open the photo viewer image.show() plt.imshow(image)
Producción:
Paso 3: Creación de marca de agua de texto
Python
# text Watermark from PIL import ImageFont from PIL import ImageDraw watermark_image = image.copy() draw = ImageDraw.Draw(watermark_image) font = ImageFont.truetype("arial.ttf", 50) # add watermark draw.text((0, 0), "puppy", (0, 0, 0), font=font) plt.subplot(1, 2, 1) plt.title("black text") plt.imshow(watermark_image) # add watermark draw.text((0, 0), "puppy", (255, 255, 255), font=font) plt.subplot(1, 2, 2) plt.title("white text") plt.imshow(watermark_image)
Producción:
A continuación se muestra el programa completo basado en el enfoque anterior:
Python3
# import all the libraries from PIL import Image from PIL import ImageFont from PIL import ImageDraw import matplotlib.pyplot as plt import numpy as np # image opening image = Image.open("puppy.jpg") # this open the photo viewer image.show() plt.imshow(image) # text Watermark watermark_image = image.copy() draw = ImageDraw.Draw(watermark_image) # ("font type",font size) font = ImageFont.truetype("arial.ttf", 50) # add Watermark # (0,0,0)-black color text draw.text((0, 0), "puppy", (0, 0, 0), font=font) plt.subplot(1, 2, 1) plt.title("black text") plt.imshow(watermark_image) # add Watermark # (255,255,255)-White color text draw.text((0, 0), "puppy", (255, 255, 255), font=font) plt.subplot(1, 2, 2) plt.title("white text") plt.imshow(watermark_image)
Producción:
Explicación:
- Importe todas las bibliotecas para el procesamiento de imágenes.
- Use Image.open() para abrir la imagen e image.show() para que se abra el visor de fotos.
- plt.imshow() se usa para abrir la imagen en el IDE.
- Haga una copia de una imagen para la creación de una imagen de marca de agua.
- Haz que la imagen sea editable usando ImageDraw.
- Utilice ImageFont para especificar la fuente y el tamaño de la fuente.
- Cree un método de dibujo del módulo ImageDraw y pase la imagen como parámetro en la función.
- Cree una fuente usando la función del módulo ImageFont truetype() ya que necesita dos parámetros que son («tipo de fuente», tamaño)
- Luego usó la función text() del objeto de dibujo y pasó los 4 parámetros (Punto de inicio para el texto, «texto de muestra», Color, objeto ImageFont).
- plt.Imshow(watermark_image) para la salida.
Imagen de marca de agua
Es un método utilizado para pegar una imagen sobre otra imagen. Se necesitan dos parámetros, uno en el que se pegará la imagen y otro en el que se pegará la imagen.
Paso 1: Importar las bibliotecas
Python
# importing the library from PIL import Image import matplotlib.pyplot as plt import numpy as np
Paso 2: Abre la imagen usando un visor de fotos
Python3
# read image image=Image.open("lion.jpg") image.show() plt.imshow(image)
Paso 3: creación de marca de agua de imagen
Python3
# image watermark size = (500, 100) crop_image = image.copy() crop_image.thumbnail(size) # add watermark copied_image = image.copy() copied_image.paste(crop_image, (500, 200)) plt.imshow(copied_image)
A continuación se muestra el programa completo basado en el enfoque anterior:
Python3
# import all the libraries from PIL import Image import matplotlib.pyplot as plt import numpy as np # to open the image image = Image.open("lion.jpg") # this open the photo viewer image.show() plt.imshow(image) # image watermark size = (500, 100) crop_image = image.copy() # to keep the aspect ration in intact crop_image.thumbnail(size) # add watermark copied_image = image.copy() # base image copied_image.paste(crop_image, (500, 200)) # pasted the crop image onto the base image plt.imshow(copied_image)
Producción:
Explicación paso a paso:
- Importe todas las bibliotecas para el procesamiento de imágenes.
- Use open() para abrir la imagen y show() para que se abra el visor de fotos.
- plt.imshow() se usa para abrir la imagen en el IDE.
- Utilice el módulo copy() para copiar la imagen en crop_image
- Crop_image.thumbnail(size) -thumbnail se utiliza para mantener intacta la relación de aspecto.
- copy_image=image1.copy() se usa para mantener la base de la imagen en la que pegaríamos la imagen.
- paste() se usa para pegar la imagen en la imagen copiada, los 2 parámetros utilizados son (imagen_recortada y la posición que se va a pegar).
- plt.imshow() para mostrar la imagen.
Publicación traducida automáticamente
Artículo escrito por kanishkmadan2000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA