Ilustración digital de una pantalla de ordenador redimensionando imágenes en Google Colab.
| |

Cómo crear una automatización en Python para Google Colab que redimensione y recorte imágenes automáticamente en formato WebP sin pérdida

¿Tienes un montón de imágenes y necesitas redimensionarlas a un tamaño fijo como 380×250 píxeles sin perder calidad ni deformar el contenido? ¿Quieres hacerlo gratis y sin instalar ningún software? Entonces este tutorial es para ti.

Hoy te enseñamos cómo usar Google Colab (un entorno gratuito en la nube) para redimensionar y recortar automáticamente tus imágenes, convirtiéndolas a formato WebP sin pérdida de calidad, ideal para proyectos web o tiendas online.


✅ ¿Qué hace exactamente este script?

Con solo ejecutar un bloque de código en Google Colab, conseguirás:

  • Redimensionar todas las imágenes de una carpeta de tu Google Drive al tamaño 380×250 píxeles.
  • Mantener la proporción original de la imagen (sin deformarla).
  • Recortar el centro de la imagen para que encaje exactamente en el tamaño objetivo.
  • Eliminar bordes blancos: la imagen rellena todo el área sin dejar espacios.
  • Convertir todas las imágenes al formato WebP sin pérdida de calidad.
  • Guardar los resultados en una carpeta nueva (redimensionadas) dentro de la carpeta original.

🧪 ¿Qué necesitas?

  • Una cuenta de Google (para usar Google Drive y Google Colab).
  • Una carpeta en tu Drive con las imágenes que quieres procesar.
  • Este script de Google Colab que te dejamos a continuación.

💻 Código para ejecutar en Google Colab

  1. Abre Google Colab.
  2. Crea un nuevo cuaderno (archivo nuevo).
  3. Copia y pega este código en una celda:
pythonCopiarEditarfrom PIL import Image
import os
from google.colab import drive

# Montar Google Drive
drive.mount('/content/drive')

# 📁 Cambia esto por el nombre real de tu carpeta en "Mi unidad"
carpeta_nombre = 'imagenes_originales'  # Ajusta el nombre si es necesario
input_folder = f'/content/drive/MyDrive/{carpeta_nombre}'
output_folder = os.path.join(input_folder, 'redimensionadas')

# Verificar que la carpeta exista
if not os.path.exists(input_folder):
    raise Exception(f"La carpeta '{input_folder}' no existe. Revisa el nombre o la ubicación en tu Google Drive.")

# Crear carpeta de salida si no existe
os.makedirs(output_folder, exist_ok=True)

# Mostrar los archivos en la carpeta
print("📂 Archivos encontrados:")
archivos = os.listdir(input_folder)
print(archivos)

# Tamaño deseado
target_width, target_height = 380, 250

# Función para redimensionar y recortar
def resize_and_crop(image_path, target_width, target_height):
    image = Image.open(image_path).convert("RGB")
    original_width, original_height = image.size

    # Calcular la proporción de escalado
    ratio = max(target_width / original_width, target_height / original_height)
    new_size = (int(original_width * ratio), int(original_height * ratio))

    # Escalar imagen
    resized_image = image.resize(new_size, Image.Resampling.LANCZOS)

    # Calcular las coordenadas del recorte (centro)
    left = (resized_image.width - target_width) // 2
    top = (resized_image.height - target_height) // 2
    right = left + target_width
    bottom = top + target_height

    cropped_image = resized_image.crop((left, top, right, bottom))
    return cropped_image

# Extensiones válidas
image_extensions = ('.jpg', '.jpeg', '.png', '.bmp', '.webp')

# Procesar todas las imágenes y convertir a WebP sin pérdida
for filename in archivos:
    if filename.lower().endswith(image_extensions):
        input_path = os.path.join(input_folder, filename)
        output_filename = os.path.splitext(filename)[0] + '.webp'
        output_path = os.path.join(output_folder, output_filename)

        try:
            final_image = resize_and_crop(input_path, target_width, target_height)
            final_image.save(output_path, 'WEBP', quality=100, method=6, lossless=True)
            print(f"✅ {filename} redimensionada sin pérdida y guardada como {output_filename}")
        except Exception as e:
            print(f"❌ Error al procesar {filename}: {e}")

📁 ¿Dónde pongo mis imágenes?

  1. Entra a tu Google Drive.
  2. Crea una carpeta nueva llamada imagenes_originales (puedes cambiar el nombre si quieres, pero recuerda editar la variable carpeta_nombre en el código).
  3. Sube todas las imágenes que quieras procesar a esa carpeta.
  4. Ejecuta el código en Colab.

📥 ¿Dónde encuentro las imágenes redimensionadas?

Al terminar, verás una nueva carpeta dentro de tu carpeta de origen llamada redimensionadas, con todas las imágenes convertidas a formato WebP y perfectamente ajustadas a 380×250 píxeles.


🎯 ¿Para qué sirve este script?

  • Crear miniaturas de productos para tiendas online.
  • Preparar imágenes para banners, sliders o blogs.
  • Acelerar la carga web gracias al formato WebP.
  • Mantener la calidad visual profesional en todos tus medios.

💡 ¿Quieres más trucos como este?

En HazteUnCurso.com compartimos guías prácticas para automatizar procesos, aprender marketing, desarrollo web e inteligencia artificial sin complicaciones.
Explora nuestros artículos o suscríbete para no perderte ninguna novedad.

Publicaciones Similares

Deja una respuesta

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

Información básica sobre protección de datos Ver más

  • Responsable: Mario Gómez Luelmo.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a Hostinger que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.