# FindBlobs

FindBlobs [Buscar blobs] se utiliza para filtrar y calificar manchas en una estructura de Blobs considerando para ello un conjunto ponderado de valores ideales.

## FindBlobs Descripción general

A partir de los parámetros configurados para FindBlobs, se crea una fórmula para calcular la puntuación con la que se expresa el grado de concordancia de las manchas referenciadas en la estructura de datos Blobs con una mancha "ideal". Sobre la base de dichos ajustes de parámetros, la función FindBlobs devolverá, a su vez, únicamente las manchas que cumplen los requisitos especificados.

Cada mancha referenciada en la estructura de datos Blobs se somete a un proceso de análisis de dos etapas: En primer lugar, cada parámetro configurado de FindBlobs crea una fórmula con la que se evalúa el valor de ese parámetro en particular. Por ejemplo, la puntuación correspondiente a Ángulo se calcularía dividiendo la diferencia entre la suma de Margen de tolerancia más Valor de ángulo especificado en el parámetro Ángulo y el valor de ángulo de la mancha referenciada por el Margen multiplicado por el valor de Peso. Una vez calculadas las puntuaciones correspondientes a los distintos parámetros, se suman todas las puntuaciones y se divide dicha suma por la suma de los valores de Peso de dichos distintos parámetros. Esta puntuación se compara con el valor de umbral para aceptación a fin de determinar si la mancha cumple o no los requisitos especificados.

Una vez que la herramienta FindBlobs ha filtrado y clasificado las manchas extraídas, se inserta automáticamente una nueva estructura de datos de Blobs junto con una tabla de resultados en la hoja de cálculo. La tabla de resultados presenta las manchas encontradas ordenadas por grado de concordancia con los requisitos configurados, en orden descendente.

La herramienta FindBlobs puede resultar extremadamente útil para la clasificación de características en la detección de defectos. Por ejemplo, si una tarea a realizar fuera detectar arañazos en una superficie, se podría configurar FindBlobs para que devuelva únicamente aquellas manchas que tengan los valores más elevados de Elongación. O, si el objetivo fuera detectar el defecto de bordes irregulares, se podría configurar FindBlobs para que devuelva únicamente aquellas manchas que tengan los valores más elevados de Perímetro o Dispersión.

## FindBlobs Entradas

Parámetro | Descripción
Blobs | Este parámetro utiliza Referencias de celda a una estructura de datos de Blobs que debe ser filtrada y ordenada.
Número a buscar | Este parámetro especifica el número máximo (de 1 a 4096; por defecto = 3) de manchas (blobs) a devolver. Si se detectan en la imagen un número mayor de manchas con puntuaciones superiores alvalor especificadocomoUmbral de aceptación, se seleccionarán las manchas con las puntuaciones más altas. Nota: Si el valor del parámetro Número a buscares mayor que cero, la herramienta FindBlobs insertará automáticamente una tabla de resultados para un máximo de 10 entradas que corresponden a las 10 primeras manchas enumeradas en la estructura de datos de Blobs. Si desea que se visualicen más entradas, puede ampliar la tabla copiando la última fila y pegando adicionalmente la fila tantas veces como desee al final de la table; asegúrese de incrementar el número de índice de la(s) fila(s) recién pegada(s) para que se indexen adecuadamente las manchas.
Umbral de aceptación | Especifica la puntuación de concordancia mínima requerida (de 0 a 100; por defecto = 10). FindBlobs devolverá únicamente las manchas que tienen puntuaciones de concordancia que superan el Umbral de aceptación. La puntuación de concordancia se calcula mediante la siguiente fórmula: (puntuación de ángulo + puntuación de área + puntuación de elongación + puntuación de orificios + puntuación de perímetro + puntuación de extensión) * (100/suma de los valores de peso de los distintos parámetros)
Ángulo | Este parámetro se utiliza para configurar la fórmula de puntuación que considera el ángulo ideal (+/- grados medidos en sentido antihorario) respecto al cual se evalúan las manchas encontradas. Fórmula de puntuación de ángulo La puntuación de Ángulo que utiliza FindBlobs se calcula mediante la siguiente fórmula: Puntuación de ángulo = [(Margen + Ángulo) - ValÁnguloBlob]/Margen * ValPeso ValÁnguloBlob= el valor de salida de Ángulo de la mancha referenciada ValPesol= Peso/(suma de todos los valores de peso) * 100
Ángulo | El ángulo ideal de una mancha (-360 a 360; por defecto = 0).
Margen | El margen de tolerancia angular de la mancha, en puntuaciones de similitud (0 a 360; por defecto = 0).
Peso | La importancia relativa del ángulo de la mancha, en puntuaciones de similitud (0 a 100; por defecto = 0).
Área | Este parámetro se utiliza para configurar la fórmula de puntuación que considera el área ideal respecto a la cual se evalúan las manchas encontradas. Fórmula de puntuación de área La puntuación de Área que utiliza FindBlobs se calcula mediante las siguientes fórmulas, en función de la magnitud relativa de ValÁreaBlob y valor de Área: Si ValÁreaBlob es mayor que valor de Área, se utiliza la siguiente fórmula: Puntuación de área = [(Margen + Área) - ValÁreaBlob]/Margen * ValPeso Si ValÁreaBlob es menor que valor de Área, se utiliza la siguiente fórmula: Puntuación de área =[ValÁreaBlob - (Área - Margen)]/Margen * ValPeso ValÁreaBlob = el valor de salida de Área de la mancha referenciada ValPeso= Peso/(suma de todos los valores de peso) * 100
Área | El tamaño ideal de una mancha, en píxeles (de 0 a 900000; por defecto = 1000).
Margen | El margen de tolerancia en área de la mancha, en puntuaciones de similitud (0 a 900000; por defecto = 20000).
Peso | La importancia relativa del área de la mancha, en puntuaciones de similitud (0 a 100; por defecto = 50).
Elongación | Este parámetro se utiliza para configurar la fórmula de puntuación y expresa el alargamiento ideal respecto al cual se evalúan las manchas encontradas. Fórmula de puntuación de elongación La puntuación de elongación que utiliza FindBlobs se calcula mediante la siguiente fórmula: Puntuación de elongación = [(Margen + Elongación) - ValEloncaciónBlob]/Margen * ValPeso ValElongaciónBlob= el valor de salida de Elongación de la mancha referenciada ValPeso= Peso/(suma de todos los valores de peso) * 100
Elongación | La elongación ideal de una mancha (0 a 900000; por defecto = 1).
Margen | El margen de tolerancia en elongación de la mancha, en puntuaciones de similitud (0 a 900000; por defecto = 2).
Peso | La importancia relativa de la elongación de la mancha, en puntuaciones de similitud (0 a 100; por defecto = 50).
Orificios | Este parámetro se utiliza para configurar la fórmula de puntuación que considera el número ideal de orificios respecto al cual se evalúan las manchas encontradas. Fórmula de puntuación de orificios La puntuación de orificios que utiliza FindBlobs se calcula mediante la siguiente fórmula: Puntuación de orificios = [(Margen + Número) - ValOrificiosBlob]/Margen * ValPeso ValOrificiosBlob= el valor de salida de Orificios para la mancha referenciada ValPeso= Peso/(suma de todos los valores de peso) * 100
Número | El número ideal de orificios que debe presentar una mancha (de 0 a 10000; por defecto = 0).
Margen | El margen de tolerancia en el número de orificios en la mancha, en puntuaciones de similitud (0 a 10000; por defecto = 2).
Peso | La importancia relativa del número de orificios en la mancha, en puntuaciones de similitud (0 a 100; por defecto = 0).
Perímetro | Este parámetro se utiliza para configurar la fórmula de puntuación que considera el perímetro ideal respecto al cual se evalúan las manchas encontradas. Fórmula de puntuación de perímetro La puntuación de perímetro que utiliza FindBlobs se calcula mediante la siguiente fórmula: Puntuación de perímetro = [(Margen + Perímetro) - ValPerímetroBlob]/Margen * ValPeso ValPerímetroBlob= el valor de salida de Perímetro de la mancha referenciada ValPeso= Peso/(suma de todos los valores de peso) * 100
Perímetro | El perímetro ideal de una mancha (0 a 100000; por defecto = 1000).
Margen | El margen de tolerancia en perímetro de la mancha, en puntuaciones de similitud (0 a 100000; por defecto = 10000).
Peso | La importancia relativa del perímetro de la mancha, en puntuaciones de similitud (0 a 100; por defecto = 50).
Extensión | Este parámetro se utiliza para configurar la fórmula de puntuación que considera la extensión ideal respecto a la cual se evalúan las manchas encontradas. Fórmula de puntuación de extensión La puntuación de extensión que utiliza FindBlobs se calcula mediante la siguiente fórmula: Puntuación de extensión = [(Margen + Extensión) - ValExtensiónBlob]/Margen * ValPeso ValExtensiónBlob= el valor de salida de Extensión de la mancha referenciada ValPeso= Peso/(suma de todos los valores de peso) * 100
Extensión | La extensión ideal de una mancha (0 a 900000; por defecto = 1).
Margen | El margen de tolerancia en extensión de la mancha, en puntuaciones de similitud (0 a 900000; por defecto = 2).
Peso | La importancia relativa de la extensión de la mancha, en puntuaciones de similitud (0 a 100; por defecto = 50).
Mostrar | Especifica el modo de visualización de las superposiciones gráficas de FindBlobs sobre la imagen.
0 = ocultar todo (por defecto) | Todos los gráficos estarán ocultos, excepto cuando la celda que contiene la función FindBlobs está resaltada en la hoja de cálculo.
1 = solo gráficos de resultados | Los contornos de las manchas se visualizarán en todo momento.

## FindBlobs Salidas

Devuelve | Una estructura de datos de Blobs que contiene las manchas concordantes ordenadas por puntuación o #ERR si alguno de los parámetros de entrada no es válido.
Resultados | Cuando se inserta inicialmente FindBlobs en una celda, se crea una tabla de resultados en la hoja de cálculo mediante las siguientes Blobs Funciones de Vision Data Access Nota: Si el valor del parámetro Número a buscares mayor que cero, la herramienta FindBlobs insertará automáticamente una tabla de resultados para un máximo de 10 entradas que corresponden a las 10 primeras manchas enumeradas en la estructura de datos de Blobs. Si desea que se visualicen más entradas, puede ampliar la tabla copiando la última fila y pegando adicionalmente la fila tantas veces como desee al final de la table; asegúrese de incrementar el número de índice de la(s) fila(s) recién pegada(s) para que se indexen adecuadamente las manchas. Se puede acceder a otros elementos de datos adicionales mediante las Blobs Funciones de Vision Data Access
Etiqueta en hoja de cálculo | Función | Descripción
--- | --- | ---
Índice |  | La posición indexada de una mancha.
X | GetX(Blobs, Índice de Blob) | Devuelve la coordenada x del centro de masa (centroide) de la mancha referenciada.
Y | GetY(Blobs, Índice de Blob) | Devuelve la coordenada y del centro de masa (centroide) de la mancha referenciada.
Ángulo | GetAngle(Blobs, Índice de Blob) | Devuelve el ángulo del centro de masa de la mancha referenciada con relación al centro de la RDI.
Color | GetColor(Blobs, Índice de Blob) | Devuelve el valor del color (0 = negro, 1 = blanco) de la mancha referenciada.
Puntuación | GetScore(Blobs, Índice de Blob) | Una medida del grado de correspondencia de la mancha con los criterios utilizados por una función FindBlobs.
Área | GetArea(Blobs, Índice de Blob) | Devuelve el área de la mancha referenciada (medida en píxeles). Nota: Si la mancha presenta orificios en su interior, el valor del Área variará en función de si está habilitada o deshabilitada la casilla Rellenar orificios.
Elongación | GetElongation(Blobs, Índice de Blob) | Devuelve un valor que cuantifica cómo se expanden los píxeles de la mancha referenciada desde el centro de masa (centroide) de la mancha hacia fuera. Por ejemplo, un círculo tiene una elongación de valor igual a 0, mientras que un clavo tiene un valor de elongación alto.
Orificios | GetHoles(Blobs, Índice de Blob) | Devuelve el número de orificios que contiene la mancha referenciada.
Perímetro | GetPerimeter(Blobs, Índice de Blob) | Devuelve la longitud de la línea que forma el contorno de la mancha referenciada; el perímetro se determina contando los lados externos de los píxeles que forman el contorno de la mancha.
Extensión | GetSpread(Blobs, Índice de Blob) | Devuelve un valor que cuantifica cómo se distribuyen los píxeles de la mancha referenciada que están más alejados del centro de masa (centroide) de la misma. Por ejemplo, un objeto con forma circular tiene un valor de Extensión menor que un objeto con forma ovalada.