Este proyecto procesa imágenes de productos eliminando texto de "Temptation Lingerie" y agregando el logo de "Perras Underwear".
perras-underwear-img-with-logos/
├── process_images.py # Script principal de procesamiento
├── requirements.txt # Dependencias de Python
├── temptationlingerie/ # Directorio de salida para imágenes procesadas
├── venv/ # Entorno virtual de Python
└── README.md # Este archivo
source venv/bin/activateLas dependencias ya están instaladas. Si necesitas reinstalarlas:
pip install -r requirements.txtpython process_images.pyEste comando procesará la imagen de prueba desde la URL configurada y guardará el resultado en temptationlingerie/filipa_processed.png.
Puedes modificar el archivo process_images.py para procesar tus propias imágenes. Hay dos formas:
from process_images import ImageProcessor
# Ruta al logo de Perras Underwear
logo_path = "/home/pragma/.gemini/antigravity/brain/ce5903a1-f849-4b4e-a013-135db996cdf6/uploaded_image_1766786140416.png"
# Crear procesador
processor = ImageProcessor(logo_path)
# Procesar imagen desde URL
url = "https://ejemplo.com/imagen.jpg"
output_path = processor.process_image(url, "mi_imagen_procesada.png")
print(f"Imagen guardada en: {output_path}")from process_images import ImageProcessor
# Ruta al logo de Perras Underwear
logo_path = "/home/pragma/.gemini/antigravity/brain/ce5903a1-f849-4b4e-a013-135db996cdf6/uploaded_image_1766786140416.png"
# Crear procesador
processor = ImageProcessor(logo_path)
# Procesar imagen local
local_image = "/ruta/a/tu/imagen.jpg"
output_path = processor.process_image(local_image, "mi_imagen_procesada.png")
print(f"Imagen guardada en: {output_path}")El script utiliza dos métodos complementarios para asegurar la eliminación completa del texto:
- Detecta texto en español e inglés
- Incluye detección de errores comunes de lectura (ej: fuentes decorativas)
- Keywords flexibles:
["temptation", "lingerie", "jemptation", "yungetie"] - Padding de 15px para eliminación completa
- Detecta texto rosa/magenta en el espacio de color HSV
- Rango HSV configurable: H(140-180), S(30-255), V(50-255)
- Operaciones morfológicas para limpiar ruido
- Filtrado por área mínima (100px²)
¿Por qué dos métodos? Las fuentes decorativas pueden confundir al OCR. Por ejemplo:
- "TEMPTATION" se lee como "@Jemptation"
- "LINGERIE" se lee como "Yungetie"
La detección por color complementa al OCR, asegurando que todo el texto sea eliminado.
El script:
- Redimensiona el logo de Perras Underwear al 15% del ancho de la imagen
- Posiciona el logo en la esquina inferior derecha
- Mantiene la transparencia del logo
- Todas las imágenes se guardan en formato PNG
- Se convierten a RGB con fondo blanco
- Alta calidad (quality=95)
Edita el parámetro logo_size_percent en la función add_logo():
# Logo al 20% del ancho de la imagen
image = processor.add_logo(image, logo_size_percent=20)Edita el parámetro margin_percent en la función add_logo():
# Margen del 5% del ancho de la imagen
image = processor.add_logo(image, margin_percent=5)Al crear el procesador, especifica un directorio diferente:
processor = ImageProcessor(logo_path, output_dir="mi_directorio")- Pillow: Manipulación de imágenes
- EasyOCR: Detección de texto (OCR)
- OpenCV: Procesamiento de imágenes y inpainting
- NumPy: Operaciones numéricas
- Requests: Descarga de imágenes desde URLs
El script muestra información detallada durante el procesamiento:
============================================================
PROCESANDO IMAGEN DE PRUEBA
============================================================
Descargando imagen desde: https://...
Detectando texto en la imagen...
- Encontrado texto: 'temptation lingerie' (confianza: 0.95)
Texto eliminado: 1 instancia(s)
Agregando logo de Perras Underwear...
Logo agregado en posición (851, 1244)
✓ Imagen guardada en: temptationlingerie/filipa_processed.png
============================================================
✓ PROCESO COMPLETADO EXITOSAMENTE
============================================================
Asegúrate de que la ruta al logo sea correcta:
logo_path = "/ruta/correcta/al/logo.png"Si procesas imágenes muy grandes, considera:
- Reducir el tamaño de la imagen antes de procesarla
- Aumentar la memoria disponible para Python
- Verifica que el texto sea legible en la imagen
- Prueba con diferentes idiomas en el Reader:
self.reader = easyocr.Reader(['es', 'en', 'pt'], gpu=False)Este proyecto es de uso interno para Perras Underwear.
Para preguntas o problemas, contacta al equipo de desarrollo.