Pillow
Usos básicos (III)
Ahora vamos a trabajar con el color, la luz y la nitidez. Para ello necesitamos algunos módulos, concretamente ImageChops, ImageOps e ImageEnhance.
No será ésta la única entrada que dediquemos a esta temática, dado que se presentan múltiples opciones, lo cual puede tener el efecto negativo de distraernos de nuestros objetivos, ya que sobrepasa de largo nuestras necesidades pero resulta muy atrayente. Trataré de minimizar este efecto, pero difícil será no caer en excesos.
Para no empezar pecando de palabrería, presento el script donde desarrollo cómo generar ciertos efectos relativos al color, la luminosidad y la nitidez. Después comentaré algunas cuestiones. Por cierto, la fuente está disponible en [este enlace]. Te recomiendo visualizarlo.
from PIL import Image, ImageChops, ImageEnhance, ImageOps#Cargar imagen baseimg_dir = 'img/grafico.jpg'img = Image.open(img_dir)#Leer sus atributosprint(img.format, img.size, img.mode)#Ver imagen baseimg.show()#Modificaciones -------------------------------------------------------------#Invertir coloresimg_inv = ImageChops.invert(img)img_inv.show()#Escala de grisesimg_gris = ImageOps.grayscale(img)img_gris.show()#Resaltar lucesimg_luz = ImageEnhance.Brightness(img).enhance(5)img_luz.show()#Contrasteimg_cont = ImageEnhance.Contrast(img).enhance(5)img_cont.show()#Disminuir nitidezimg_nitida = ImageEnhance.Sharpness(img).enhance(-10)img_nitida.show()
Trato en él cinco efectos: la inversión del color, la conversión a escala de grises, la luminosidad, el contraste y la nitidez de la imagen. Para ello hacemos uso de los módulos ImageChops, ImageOps e ImageEnhance, éste último para las tres modificaciones de luz, contraste y nitidez mediante funciones que reciben como parámetro la imagen, pero con el añadido de una segunda función con un parámetro numérico de efecto ordinal o de grado de intensidad (del efecto).



No hay comentarios:
Publicar un comentario
Comenta esta entrada