pillow_pil
SKILL.md
pillow_pil
Pillow es la librería fundamental de procesamiento de imágenes en Python. Gestiona la carga, guardado, conversión de formato, redimensionado y manipulación básica de imágenes. Es una dependencia implícita de casi todos los otros componentes de procesamiento.
When to use
Usar para todas las operaciones básicas de imagen antes de pasarlas a OpenCV o a los modelos ML: carga de archivos, conversión de formato, extracción de metadatos EXIF.
Instructions
- Instalar:
pip install Pillow - Carga y validación básica:
from PIL import Image, ExifTags import io def load_and_validate(image_bytes: bytes) -> Image.Image: img = Image.open(io.BytesIO(image_bytes)) img.verify() # lanza excepción si el archivo está corrupto img = Image.open(io.BytesIO(image_bytes)) # reabrir tras verify() if img.mode != "RGB": img = img.convert("RGB") return img - Extraer metadatos EXIF para detectar edición:
def get_exif_data(img: Image.Image) -> dict: exif_data = img._getexif() or {} return {ExifTags.TAGS.get(k, k): v for k, v in exif_data.items()} - Conversión PIL ↔ NumPy/OpenCV:
np.array(pil_img)yImage.fromarray(cv2_img[:,:,::-1]). - Verificar integridad del archivo: capturar
PIL.UnidentifiedImageErrorpara imágenes corruptas o no-imagen. - Redimensionar para normalizar antes del pipeline:
img.resize((width, height), Image.LANCZOS).
Notes
- Siempre reabrir la imagen después de
img.verify()— verify() consume el stream y deja la imagen en estado inconsistente. - Pillow no preserva orientación EXIF al convertir — usar
ImageOps.exif_transpose(img)para corregir rotación. - Para imágenes muy grandes (>20MP), usar
img.thumbnail()en lugar deimg.resize()para respetar aspect ratio.
Weekly Installs
1
Repository
davidcastagnetoa/skillsFirst Seen
10 days ago
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1