Python Pillow: creación de una marca de agua

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:

  1. marca de agua de texto,
  2. 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:

  1. Importe todas las bibliotecas para el procesamiento de imágenes.
  2. Use Image.open() para abrir la imagen e image.show() para que se abra el visor de fotos.
  3. plt.imshow() se usa para abrir la imagen en el IDE.
  4. Haga una copia de una imagen para la creación de una imagen de marca de agua.
  5. Haz que la imagen sea editable usando ImageDraw.
  6. Utilice ImageFont para especificar la fuente y el tamaño de la fuente.
  7. Cree un método de dibujo del módulo ImageDraw y pase la imagen como parámetro en la función.
  8. 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)
  9. 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).
  10. 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:

  1. Importe todas las bibliotecas para el procesamiento de imágenes.
  2. Use open() para abrir la imagen y show() para que se abra el visor de fotos.
  3. plt.imshow() se usa para abrir la imagen en el IDE.
  4. Utilice el módulo copy() para copiar la imagen en crop_image
  5. Crop_image.thumbnail(size) -thumbnail se utiliza para mantener intacta la relación de aspecto.
  6. copy_image=image1.copy() se usa para mantener la base de la imagen en la que pegaríamos la imagen.
  7. 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).
  8. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *