Skip to content

facu-alba/underwear

Repository files navigation

Procesador de Imágenes - Perras Underwear

Este proyecto procesa imágenes de productos eliminando texto de "Temptation Lingerie" y agregando el logo de "Perras Underwear".

📁 Estructura del Proyecto

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

🚀 Instalación

1. Activar el entorno virtual

source venv/bin/activate

2. Verificar instalación (opcional)

Las dependencias ya están instaladas. Si necesitas reinstalarlas:

pip install -r requirements.txt

💻 Uso

Procesar la imagen de prueba

python process_images.py

Este comando procesará la imagen de prueba desde la URL configurada y guardará el resultado en temptationlingerie/filipa_processed.png.

Procesar tus propias imágenes

Puedes modificar el archivo process_images.py para procesar tus propias imágenes. Hay dos formas:

Opción 1: Procesar desde URL

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}")

Opción 2: Procesar desde archivo local

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}")

⚙️ Funcionalidades

1. Detección y eliminación de texto (Método Dual)

El script utiliza dos métodos complementarios para asegurar la eliminación completa del texto:

Método 1: OCR con EasyOCR

  • 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

Método 2: Detección por Color HSV

  • 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.

2. Agregado de logo

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

3. Formato de salida

  • Todas las imágenes se guardan en formato PNG
  • Se convierten a RGB con fondo blanco
  • Alta calidad (quality=95)

📝 Personalización

Cambiar el tamaño del logo

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)

Cambiar el margen del logo

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)

Cambiar el directorio de salida

Al crear el procesador, especifica un directorio diferente:

processor = ImageProcessor(logo_path, output_dir="mi_directorio")

🔧 Dependencias Principales

  • 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

📊 Ejemplo de Salida

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
============================================================

🐛 Solución de Problemas

Error: "No se encuentra el logo"

Asegúrate de que la ruta al logo sea correcta:

logo_path = "/ruta/correcta/al/logo.png"

Error de memoria con imágenes grandes

Si procesas imágenes muy grandes, considera:

  • Reducir el tamaño de la imagen antes de procesarla
  • Aumentar la memoria disponible para Python

EasyOCR no detecta el texto

  • 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)

📄 Licencia

Este proyecto es de uso interno para Perras Underwear.

👨‍💻 Soporte

Para preguntas o problemas, contacta al equipo de desarrollo.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages