FindBlobs

FindBlobs se utiliza para filtrar y puntuar los blobs en una estructura de datos 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 coincidencia de los blobs referenciados en la estructura de datos Blobs con un blob «ideal». Sobre la base de dichos ajustes de parámetros, la función FindBlobs devolverá, a su vez, únicamente los blobs que cumplen los requisitos especificados.

Cada blob referenciado 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 del blob referenciado 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 de aceptación para determinar si el blob cumple o no los requisitos especificados.

Una vez que la herramienta FindBlobs ha filtrado y clasificado los blobs extraídos, se inserta automáticamente una nueva estructura de datos Blobs junto con la tabla de resultados en la hoja de cálculo. La tabla de resultados presenta los blobs encontrados, ordenados en orden descendente de grado de coincidencia con los requisitos configurados.

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 aquellos blobs 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 aquellos blobs 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 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 blobs a devolver. Si se detectan en la imagen un número mayor de blobs con puntuaciones superiores alvalor especificadocomoUmbral de aceptación, se seleccionarán los blobs 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 los 10 primeros blobs enumerados en la estructura de datos 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 los blobs.

Umbral de aceptación

Especifica la puntuación de coincidencia mínima aceptable (de 0 a 100; por defecto = 10). FindBlobs devolverá únicamente los blobs que tienen puntuaciones de coincidencia superiores al Umbral de aceptación. La puntuación de coincidencia 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 los blobs encontrados.

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 del blob referenciado

ValPesol= Peso/(suma de todos los valores de peso) * 100

Ángulo

El ángulo ideal de un blob (-360 a 360; por defecto = 0).

Margen

El margen de tolerancia angular para el blob, en puntuaciones de similitud (0 a 360; por defecto = 0).

Peso

La importancia relativa del ángulo del blob, 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 los blobs encontrados.

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 del blob referenciado

    ValPeso= Peso/(suma de todos los valores de peso) * 100

Área

El tamaño ideal de un blob, en píxeles (de 0 a 900000; por defecto = 1000).

Margen

El margen de tolerancia en el área del blob, en puntuaciones de similitud (0 a 900000; por defecto = 20000).

Peso

La importancia relativa del área del blob, 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 los blobs encontrados.

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 del blob referenciado

ValPeso= Peso/(suma de todos los valores de peso) * 100

Elongación

La elongación ideal de un blob (0 a 900000; por defecto = 1).

Margen

El margen de tolerancia en la del blob, en puntuaciones de similitud (0 a 900000; por defecto = 2).

Peso

La importancia relativa de la elongación del blob, 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 los blobs encontrados.

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 el blob referenciado

ValPeso= Peso/(suma de todos los valores de peso) * 100

Número

El número ideal de orificios que debe tener un blob (de 0 a 10000; por defecto = 0).

Margen

El margen de tolerancia en el número de orificios en el blob, en puntuaciones de similitud (0 a 10000; por defecto = 2).

Peso

La importancia relativa del número de orificios en el blob, 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 los blobs encontrados.

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 del blob referenciado

ValPeso= Peso/(suma de todos los valores de peso) * 100

Perímetro

El perímetro ideal de un blob (0 a 100000; por defecto = 1000).

Margen

El margen de tolerancia en el perímetro del blob, en puntuaciones de similitud (0 a 100000; por defecto = 10000).

Peso

La importancia relativa del perímetro del blob, 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 los blobs encontrados.

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 del blob referenciado

ValPeso= Peso/(suma de todos los valores de peso) * 100

Extensión

La extensión ideal de un blob (0 a 900000; por defecto = 1).

Margen

El margen de tolerancia en la extensión del blob, en puntuaciones de similitud (0 a 900000; por defecto = 2).

Peso

La importancia relativa de la extensión del blob, 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

Se visualizarán en todo momento los contornos de los blobs.

FindBlobs Salidas

Devuelve

Una estructura de datos Blobs que contiene los blobs concordantes ordenados 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 Vision Data Access functions

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 los 10 primeros blobs enumerados en la estructura de datos 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 los blobs.
  • Se puede acceder a otros elementos de datos adicionales mediante las Blobs Vision Data Access functions

Etiqueta en hoja de cálculo Función Descripción
Índice   La posición indexada de un blob.

X

GetX(Blobs, Índice de Blob)

Devuelve la coordenada x del centro de masa (centroide) del blob referenciado.

Y

GetY(Blobs, Índice de Blob)

Devuelve la coordenada y del centro de masa (centroide) del blob referenciado.

Angle

GetAngle(Blobs, Índice de Blob)

Devuelve el ángulo del centro de masa del blob referenciado con relación al centro de la RDI.

Color

GetColor(Blobs, Índice de Blob)

Devuelve el valor cromático (0 = negro, 1 = blanco) del blob referenciado.

Score

GetScore(Blobs, Índice de Blob)

Una medida del grado de coincidencia del blob con los criterios utilizados por una función FindBlobs.

Area

GetArea(Blobs, Índice de Blob)

Devuelve el área del blob referenciado (medida en píxeles).

Nota:  Si el blob contiene orificios en su interior, el valor del Área variará en función de si está habilitada o deshabilitada la casilla Rellenar orificios.

Elongation

GetElongation(Blobs, Índice de Blob)

Devuelve un valor que cuantifica cómo se expanden hacia fuera los píxeles del blob referenciado desde el centro de masa (centroide) del blob. 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.

Holes

GetHoles(Blobs, Índice de Blob)

Devuelve el número de orificios que contiene el blob referenciado.

Perimeter

GetPerimeter(Blobs, Índice de Blob)

Devuelve la longitud del contorno del blob referenciado; el perímetro se determina contando los lados externos de los píxeles que forman el contorno del blob.

Spread

GetSpread(Blobs, Índice de Blob)

Devuelve un valor de extensión que cuantifica cómo se distribuyen los píxeles del blob referenciado que están más alejados del centro de masa (centroide) del blob. Por ejemplo, un objeto con forma circular tiene un valor de Extensión menor que un objeto con forma ovalada.