DetectBlobs
La función DetectBlobs (DetectarBlobs) realiza un tipo de análisis de manchas conocido como «análisis de la conectividad» en una región de interés (RDI). En el «análisis de la conectividad», los píxeles de la RDI se dividen en dos categorías, Mancha (Blob, en inglés) o Fondo, considerando para ello un valor umbral en escala de grises de modo que todos los píxeles con valores por debajo del umbral se asignan a la categoría "negra" y todos los píxeles con valores por encima del umbral a la categoría "blanca".
De esta forma, los píxeles con valores similares se agrupan en función de su "color" y en función de si "están en contacto" o no con los píxeles vecinos. Los píxeles del fondo están conectados a sus vecinos si están en contacto con ellos en cualquiera de sus lados laterales o en el superior o inferior, mientras que los píxeles de una mancha están conectados con sus vecinos si están en contacto con ellos en cualquiera de sus lados, ya sea en un lado lateral, en el superior o inferior, o en un punto diagonal del mismo.
Una vez procesada la imagen, estará segmentada por manchas y píxeles de fondo. Las manchas que se encuentren en la RDI se identificarán en función de sus características físicas y valores asignados, tales como ubicación de la mancha en la imagen (sus coordenadas de fila y columna), su área, perímetro, extensión y elongación. Los datos de las manchas extraídas se almacenan y notifican en una estructura de datos de Blobs.
Esta función constituye el primer paso del análisis de manchas y tanto FindBlobs como SortBlobs utilizan finalmente Referencias de celda a una estructura de datos de Blobs propia de la función DetectBlobs, ya sea directamente o a través de Auditing.
DetectBlobs Entradas
| Parámetro | Descripción | ||||||||||||||
|
Imagen |
Este parámetro debe hacer referencia a una celda de la hoja de cálculo que contiene una estructura de datos de Imagen; por defecto, este parámetro hace referencia a A0, la celda que contiene la estructura de datos. Este parámetro puede hacer también referencia a otras estructuras de datos de Imagen, como las devueltas por las funciones de Imagen Funciones de Vision Data Access o Funciones de transformación de coordenadas. |
||||||||||||||
|
Elemento posicionador |
Define la región de interés (RDI) en relación con una entrada de Fixture [Elemento posicionador] o la salida del sistema de coordenadas de imagen de una función de Vision Tools. La configuración de la RDI con relación a un elemento posicionador hace que si se gira o desplaza el elemento posicionador, se girará o desplazará en consonancia la RDI, manteniéndose fija la relación entre ambos. El valor de configuración predeterminado es (0,0,0), la esquina superior izquierda de la imagen.
|
||||||||||||||
|
Región |
También conocida como región de interés (RDI), especifica la región de la imagen que se somete a análisis. Haga doble clic sobre el parámetro Región para crear un Modo gráfico interactivo que permite transformar y girar. Seleccione este parámetro y pulse el botón «Maximizar región» en la barra de herramientas de edición de tareas de la hoja de propiedades a fin de expandir automáticamente la región hasta cubrir toda la imagen.
|
||||||||||||||
|
Nota: Los parámetros Elemento posicionador y Región deben estar definidos dentro de los límites de la imagen; de lo contrario, la función devolverá #ERR.
|
|||||||||||||||
|
Región externa |
Este parámetro utiliza Referencias de celda a una herramienta o función de control Annulus, Circle [Círculo], Region, EditAnnulus, EditCircle, EditCompositeRegion, EditPolygon, EditRegion. Cuando se utiliza este parámetro, la función ignora los ajustes de Región y Elemento posicionador e inspecciona el área de imagen especificada por la región a la que se hace referencia. Si se hace referencia a un control de EditCompositeRegion, el área de inspección puede consistir en una combinación de formas. Cada forma de la región combinada puede definirse como una forma añadida al área de inspección o una sustraída (enmascaramiento) de la misma. Nota: Si este parámetro ha sido configurado como referencia a una región externa, entonces, para utilizar la Región interna de la función, habrá que poner manualmente este parámetro a cero introduciendo para ello el valor 0 en lugar de la referencia de celda. En caso contrario, la función seguirá haciendo referencia a la región externa.
|
||||||||||||||
|
Número a clasificar |
Especifica el número de manchas (blobs) a clasificar.
Nota: Si el valor del parámetro Número a clasificar es mayor que cero, la función DetectBlobs insertará automáticamente una tabla de resultados que presentará como máximo las 10 entradas que corresponden a las 10 primeras manchas contenidas 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 |
Especifica el valor en escala de grises que ha de utilizarse para separar las manchas del fondo. Este valor puede determinarse utilizando el ajuste automático de la función DetectBlobs (ajuste por defecto) o configurarlo manualmente mediante ensayo y error o establecerlo como Referencias de celda a los resultados calculados por una función Histograma.
|
||||||||||||||
|
Rellenar orificios |
Especifica uno de los dos métodos para procesar las estadísticas acumuladas en orificios.
|
||||||||||||||
|
Blobs fronterizos |
Especifica una de las dos formas de gestionar las manchas que cruzan la frontera de la RDI.
|
||||||||||||||
|
Color: Blob |
Especifica el color de la mancha.
Nota:
Cuando Color: Blob y Color: Fondo tiene el mismo valor de ajuste que Color, no se notificará ninguna mancha. Por ejemplo, cuando Color: Blob configurado como negro y Color: Fondo configurado también como negro, no se notificará ninguna mancha.
Sin embargo, incluso si Color: Blob y Color: Fondo están configurados con el mismo color, se notificarán manchas detectadas cuando estas están contenidas en un área de color opuesto (véanse los ejemplos siguientes). Si alguna parte de la mancha no está contenida en un área de color opuesto, no se notificará la existencia de dicha mancha.
|
||||||||||||||
|
Color: Fondo |
Especifica el color del fondo en la imagen capturada. El análisis de conectividad octodireccional se realiza en el primer plano y el cuadridireccional en el fondo.
|
||||||||||||||
|
Límite de área: Mín. |
Especifica una limitación al área mínima, en número de píxeles, de todas las manchas (blobs) devueltas por la función (por defecto = 100); se devolverán únicamente las manchas que presentan un área mayor que el valor de límite de área: Mín. especificado. El intervalo de valores admisibles para el parámetro es:
Por ejemplo, si está conectado al sistema de visión In-Sight D902, el intervalo de valores admisibles para el parámetro es de 0 a 2.304.000 (1920x1200). |
||||||||||||||
|
Límite de área: Máx. |
Especifica una limitación al área máxima, en número de píxeles, de todas las manchas devueltas por la función (por defecto = 100000); se devolverán únicamente las manchas que presentan un área menor que el valor límite de área: Máx. especificado. El intervalo de valores admisibles para el parámetro es:
Por ejemplo, si está conectado al sistema de visión In-Sight D902, el intervalo de valores admisibles para el parámetro es de 0 a 2.304.000 (1920x1200). |
||||||||||||||
|
Mostrar |
Especifica el modo de visualización de los gráficos de DetectBlobs sobre la imagen.
|
||||||||||||||
DetectBlobs Salidas
|
Devuelve |
Una estructura de datos de Blobs que contiene las manchas extraídas de la imagen o #ERR si alguno de los parámetros de entrada no es válido. |
|||||||||||||||||||||||||||||||||
|
Resultados |
Cuando se inserta inicialmente DetectBlobs en una celda, se crea una tabla de resultados en la hoja de cálculo por medio de las siguientes Blobs Funciones de Vision Data Access Nota:
|
Ejemplo con DetectBlobs
La función DetectBlobs se utiliza para identificar y localizar manchas formadas por píxeles conectados entre sí, que pueden tener diversas formas y tamaños. Este ejemplo ilustra cómo la información devuelta en la tabla de resultados de la estructura de datos de DetectBlobs está relacionada con las manchas encontradas y cómo dicha información puede utilizarse para clasificar y filtrar posteriormente las manchas en función de sus características.
Para este ejemplo, se ha utilizado la siguiente imagen para ayudar a ilustrar el significado de los valores que se devuelven en la tabla de resultados de la función DetectBlobs:
Se insertó una función DetectBlobs en una celda vacía de la hoja de cálculo. A partir de las formas en la imagen, los parámetros de la hoja de propiedades de DetectBlobs se configuraron de la siguiente manera:
- Imagen: Para este ejemplo se ha utilizado la configuración predeterminada, pero este parámetro puede hacer referencia a cualquier estructura de datos de Imagen, como una estructura de datos de imagen producida por una función de Filter que procesa la imagen para eliminar el exceso de ruido en ella antes de inspeccionar la imagen en busca de manchas.
- Elemento posicionador: Se ha utilizado la configuración predeterminada de elemento posicionador porque se utiliza una imagen estática que no se va a girar ni desplazar. Sin embargo, cuando se utilice la función DetectBlobs con imágenes que están sometidas a movimientos, es aconsejable asignar un Fixture [Elemento posicionador] a la región de la imagen.
- Región: La región de la imagen se maximizó para incluir todas las formas en el análisis. Tras hacer clic sobre el parámetro Región y pulsar el botón «Maximizar región» en la barra de herramientas de la hoja de propiedades, se amplia automáticamente la región hasta cubrir toda la imagen.
- Número a clasificar: El número a clasificar se ha ajustado poniéndolo a seis. Se podría haber puesto también este parámetro a 0 y entonces la herramienta habría extraído automáticamente todas las manchas que cumplieran con los parámetros de color y tamaño especificados en Color Blob/ Color Fondo y Límite de área: Mín./Límite de área: Máx. de parámetro.
- Umbral: Se ha utilizado el ajuste predeterminado con el que se calcula automáticamente el valor de Umbral en escala de grises. En esta imagen, las diferencias de valores en escala de grises son muy pronunciadas y se distingue clarísimamente cuáles son los píxeles oscuros y cuáles los claros. En las aplicaciones en las que la gradación es más sutil y el ajuste de umbral automático no llega a separar muy bien los valores, puede resultar muy útil utilizar funciones Histograma como las funciones HistHead o HistTail para determinar las intensidades en escala de grises de distintas regiones de la imagen.
- Rellenar orificios: Se utilizó el ajuste predeterminado con el que se incluye la contribución de los orificios encontrados en las manchas, lo que implica que disminuye el área total de las manchas con orificios. Si se hubiera marcado la casilla Rellenar orificios, se notificarían también los orificios encontrados dentro de manchas y se habría añadido el área del interior de los orificios, lo que habría aumentando el área de las manchas con orificios.
- Blobs fronterizos: Se ha utilizado el ajuste predeterminado con el que se incluyen las manchas que cruzan el límite de la región en la imagen. Con este ajuste, si se hubiera movido la imagen hacia la izquierda de manera que el círculo más grande y la forma cuadrada más pequeña cruzarían el límite izquierdo de la región en la imagen, las partes de dichas formas geométricas que aún estarían dentro del límite de la región se habrían extraído como manchas. Sin embargo, si la casilla estuviera sin marcar, no se habrían procesado dichas manchas.
- Límite de área: Mín./Máx.: Se han utilizado los ajustes predeterminados. Con estos ajustes se filtran, durante la fase de extracción, las manchas de la región en función de los ajustes de límite mínimo y máximo del área de una mancha con los que se determinan si una mancha puede clasificarse o no como mancha.
- Mostrar: Se ha utilizado el ajuste predeterminado con el que solo se visualizan los gráficos de resultados cuando está seleccionada la celda que contiene la estructura de datos de Blobs, como es el caso en el ejemplo siguiente.
Una vez configurada la hoja de propiedades de DetectBlobs, se genera una estructura de datos de Blobs y una tabla para los datos de resultados.
Los valores devueltos en la tabla de resultados pueden utilizarse para filtrar y clasificar las manchas utilizando las funciones FindBlobs y SortBlobs. Por ejemplo, se podría insertar una función FindBlobs en la hoja de cálculo y hacer referencia a la función DetectBlobs. Se utilizaría entonces la función FindBlobs para filtrar las manchas en función de su extensión. A continuación, se podría insertar una función SortBlobs en la hoja de cálculo y hacer con ella referencia a la función FindBlobs recientemente creada a fin de ordenar la lista de blobs en función de su posición X, Y.

