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.