Pillow
from PIL import Image
#Directorio de la imagenimg_dir = 'img/Estadistica.png'#Imagen originalimg = Image.open(img_dir)
... y visualizamos su atributo modo...
print(img.mode) -> Devuelve RGBA
Y para finalizar este proceso (ya conocido) podemos visualizar la imagen
img.show()
A partir de aquí empezaremos con las transformaciones que partirán siempre de la imagen original para facilitar la comparación.
Primero convertimos la imagen a escala de grises. Esto ya lo sabemos hacer con el módulo ImageOps y la función grayscale() (img_gris = ImageOps.grayscale(img)), pero ahora lo haremos desde el módulo principal Image mediante la función convert() (la verdadera artífice de esta conversión, que requiere como parámetro el identificador del modo color, concretamente L para la conversión a escala de grises (img_gris = img.convert('L'))
El paquete completo de instrucciones incluye la identificación del modo, el visionado de la nueva imagen (que podremos comparar con la original) y su archivo como imagen.
#Escala de grisesimg_gris = img.convert('L')print(img_gris.mode) -> Devuelve Limg_gris.show()img_gris.save('img/grafgris.png') #Guardar imagen
Si tratamos de invertir el proceso (convertir L a color, lógicamente obtenemos de nuevo una imagen en escala de grises, pero su modo sí se modifica al especificado en la conversión:
- convert('RGBA') -> Genera RGBA
- convert('RGB') -> Genera RGB
# De RGBA a RGBimg_cv = img.convert('RGB')print(img_cv.mode) -> Devuelve RGBimg_cv.show()img_cv.save('img/grafcv.jpg') #Guardar imagen
... obteniendo el mismo efecto que antes (escala de grises) si realizamos la conversión inversa, aunque ahora la diferencia entre la original RGBA y la RGBA reformulada es menos evidente a la vista.



No hay comentarios:
Publicar un comentario
Comenta esta entrada