> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/ai-blocks/background-removal-rmbg-1.4.md).

# Background Removal (RMBG-1.4)

Elimina el fondo de una imagen RGB/BGR usando un modelo pretrained RMBG. El bloque devuelve un recorte del primer plano y una máscara binaria que separa primer plano (255) de fondo (0). El modelo se descarga automáticamente en el primer uso.

## 📥 Entradas <a href="#inputs" id="inputs"></a>

* Entradas: socket `Image` — Imagen RGB/BGR a procesar.

## 📤 Salidas <a href="#outputs" id="outputs"></a>

* Salida: socket `Cutout` — Imagen con el fondo eliminado (RGB sobre negro o RGBA según la configuración).
* Salida: socket `Mask` — Imagen de máscara binaria (0 = fondo, 255 = primer plano).

## 🕹️ Controles <a href="#controls" id="controls"></a>

* `Keep RGB on black` Checkbox — Controla el formato de salida. Si no está marcado, el bloque entrega un recorte RGB sobre fondo negro más la máscara binaria. Si está marcado, el bloque entrega un recorte RGBA con canal alfa más la máscara binaria.

(la forma en que el control afecta las salidas se muestra arriba en la sección Outputs)

## 🎨 Características <a href="#features" id="features"></a>

* Eliminación de fondo de alta calidad usando un modelo de segmentación moderno y pretrained.
* Genera tanto un recorte visual como una máscara binaria limpia para procesamiento posterior.
* El modelo se descarga automáticamente en la primera ejecución para que puedas comenzar sin manejar manualmente los archivos del modelo.
* Compatible con GPU: usará recursos GPU disponibles para acelerar el procesamiento cuando estén presentes.

## 📝 Instrucciones de uso <a href="#usage" id="usage"></a>

1. Proporciona una imagen RGB/BGR en el socket de entrada `Image`.
2. Cambia la opción `Keep RGB on black` según si quieres un recorte RGB sobre fondo negro o una imagen RGBA con canal alfa.
3. Lee los resultados desde los sockets de salida `Cutout` y `Mask` para visualización o procesamiento adicional.

## 📊 Qué hace el bloque al ejecutarse <a href="#evaluation" id="evaluation"></a>

* Carga el modelo pretrained de background-removal (la primera ejecución puede descargar los archivos necesarios).
* Procesa la imagen de entrada y entrega una imagen limpia del primer plano y una máscara binaria.
* Si hay una GPU compatible disponible, el procesamiento puede acelerarse.

## 💡 Consejos y trucos <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Usa `Show Image` para previsualizar las salidas `Cutout` y `Mask` mientras ajustas la configuración.
* Si solo necesitas una superposición visual, conecta la salida `Mask` a `Apply Mask` para combinar la máscara con otras imágenes.
* Preprocesa la entrada con `Image ROI` o `Image ROI Select` para limitar la eliminación a una región de interés — esto reduce el tiempo de procesamiento y evita áreas no deseadas.
* Limpia entradas ruidosas con `Blur` o convierte a un espacio de color más uniforme con `HSV Filter` antes de la eliminación de fondo para mejorar las máscaras.
* Si necesitas un resultado más grande después del recorte, ejecuta `Image Resize` o `Super Resolution` sobre la salida `Cutout`.
* Para un enfoque de segmentación alternativo, compara resultados con `Background Removal (BiRefNet)` y elige el que dé mejores bordes para tus imágenes.
* Guarda ejemplos y registros conectando las salidas a `Image Logger` o `Image Write` para crear y revisar datasets.

## 🛠️ Solución de problemas <a href="#troubleshooting" id="troubleshooting"></a>

* Si el bloque indica bibliotecas faltantes, asegúrate de que los paquetes requeridos estén disponibles en el sistema (el modelo depende de librerías comunes de ML y soporte de imagen).
* Si los resultados contienen agujeros o partes del primer plano faltantes, prueba a preprocesar con `Blur` o recorta la imagen con `Image ROI` para centrar el algoritmo en el sujeto.
* Si el procesamiento es lento, comprueba si hay una GPU disponible y en uso; de lo contrario, usa imágenes más pequeñas o añade `Image Resize` antes de este bloque.
* Para bordes muy finos o complejos, prueba `Background Removal (BiRefNet)` para comparar el manejo de contornos.
