# Blob

En la terminología de la visión artificial, cualquier grupo bidimensional de píxeles contiguos que tienen un valor de gris similar y forman un conjunto relativamente uniforme de forma variable puede denominarse "mancha" (o "blob" en inglés). El proceso de extraer estas manchas de una imagen, encontrarlas en una región de interés y clasificarlas según criterios específicos se denomina análisis de manchas.

## ¿Qué es un análisis de manchas?

La herramienta Blob de In-Sight realiza un tipo de análisis de manchas denominado análisis de la conectividad, realizándose este paso mediante la función DetectBlobs. Tras insertar la función DetectBlobs en la hoja de cálculo y una vez configurados sus parámetros, la función comienza a realizar el análisis segmentando en primer lugar la RDI.

Durante este proceso, los píxeles en la RDI se clasifican según dos categorías, mancha (Blob) y fondo, en función de un valor umbral en escala de grises. Este valor umbral separa los píxeles de tal manera que los que están por debajo del valor umbral se clasifican como negros, mientras que los que están por encima del valor umbral se clasifican como blancos.

Nota: Este valor umbral puede determinarse mediante el ajuste automático del parámetro Umbral de la función DetectBlobs, un ajuste manual por prueba y error o como una referencia a los resultados calculados por la función Histograma.

Mientras se realiza este proceso, se examinan además los píxeles para determinar si están o no unidos (conectados) a los píxeles contiguos. Se dice que un píxel de una mancha está conectado a píxeles vecinos si dicho píxel está en contacto con otro píxel de valor similar en cualquiera de sus lados, ya sea en un lado lateral, en el superior, inferior, o en un punto diagonal del mismo. Se dice que un píxel de fondo está conectado a los píxeles vecinos si dicho píxel está en contacto con otro píxel de valor similar en cualquiera de sus lados, ya sea uno lateral, en el superior o en el inferior.

En la figura siguiente puede apreciarse cómo la herramienta Blob de In-Sight analiza una imagen. En este ejemplo, la segmentación de la imagen en píxeles de mancha y píxeles de fondo se realizó utilizando un valor umbral de 150 en la escala de grises. Todos los píxeles con valores de gris mayores o iguales a 150 se clasificaron como píxeles blancos o de fondo, mientras que los píxeles con valores de gris inferiores a 150 se clasificaron como píxeles negros o de mancha:

Una vez extraídas las manchas de la imagen, la función DetectBlobs crea automáticamente una estructura de datos de Blobs y una tabla de resultados que contiene los datos sobre las manchas extraídas. Esta información que proporciona la función puede ser utilizada por las funciones FindBlobs y SortBlobs para filtrar y clasificar otras manchas encontradas según sus características físicas y su ubicación, respectivamente.

Nota: Tanto FindBlobs como SortBlobs deben hacer referencia a una estructura de datos de Blobs. Es una estructura de datos que puede ser creada por las funciones DetectBlobs, FindBlobs o SortBlobs.

La función FindBlobs analiza las manchas dentro de una RDI y determina si las manchas encontradas coinciden o no con los requisitos especificados; las manchas que cumplan con los requisitos serán las devueltas por la función, clasificadas en orden descendente por puntuación, indicándose con la puntuación el nivel de cumplimiento con los requisitos establecidos.

La función SortBlobs analiza las manchas dentro de una RDI y determina dónde se encuentra la mancha con respecto a un elemento posicionador; esto sirve para determinar la posición de una mancha con respecto a otra mancha, pudiéndose además utilizar una sola función DetectBlobs para encontrar a la vez varias manchas en una RDI.

## ¿Cuándo se utiliza el análisis de manchas?

Lo mejor es utilizar las herramientas Blob de In-Sight cuando se cumplen las siguientes condiciones:

- La imagen es de un objeto bidimensional.
- La imagen presenta un alto contraste entre los píxeles claros y oscuros.

Nota: La herramienta Blob de In-Sight analiza únicamente imágenes en escala de grises; los colores de las imágenes en color se convierten automáticamente a valores en la escala de grises.

## ¿Por y para qué se utiliza el análisis de manchas?

Cuando se cumplen las condiciones mencionadas anteriormente, el análisis de manchas puede ser extremadamente útil en las siguientes aplicaciones:

- Aplicaciones de calibrado ordinario, como la medición de diámetros o dimensiones rectangulares para determinar la anchura de una pieza en una orientación determinada.
- Aplicaciones de posicionamiento en la primera pasada, en las que se utilizan herramientas Blob para localizar y colocar rápidamente un elemento posicionador para otra herramienta.
- Aplicaciones de presencia/ausencia en las que se utilizan herramientas Blob para determinar si hay o no una mancha en la imagen.
- Aplicaciones de recuento, en las que se pueden configurar las herramientas Blob para contar y clasificar las manchas en función de características como área o perímetro de las manchas.

## ¿Cómo se realiza el análisis de manchas?

Con las herramientas de Blob de In-Sight, el proceso de análisis de manchas puede dividirse en tres pasos:

Paso 1 - Examinar la imagen y determinar si la imagen y el estado de la imagen cumplen los requisitos para realizar un análisis de manchas.

Paso 2 - Insertar una función DetectBlobs en la hoja de cálculo y configurar convenientemente los parámetros para localizar e identificar las manchas en la imagen.

Paso 3 - Insertar una función FindBlobs o SortBlobs en la hoja de cálculo para filtrar la lista de manchas encontradas en función de características físicas o de la ubicación de la manchas, respectivamente.