# SortBlobs

La función SortBlobs [ClasificarBlobs] se utiliza para clasificar las manchas (blobs) referenciadas en una estructura de datos de Blobs en relación con un elemento posicionador.

## SortBlobs Descripción general

Al calcular la posición del centro de masas (centroide) de la mancha referenciada en el sistema de coordenadas del elemento posicionador especificado, la función SortBlobs clasifica las manchas referenciadas en función de una de sus características medibles, como la distancia X o Y de la mancha con respecto al origen de un elemento posicionador o de una cuadrícula, o el ángulo o la distancia angular de la mancha.

Se examina cada mancha referenciada de la estructura de datos Blobs, se identifican las manchas en función de la configuración del parámetro Clasificar por y se determinan sus posiciones midiendo la distancia o posición angular de la mancha con respecto a un punto fijo.

Una vez la función SortBlobs ha clasificado las manchas referenciadas, se insertarán automáticamente una nueva estructura de datos de Blobs y la correspondiente tabla de resultados en la hoja de cálculo. En la tabla de resultados, las manchas se presentan por orden descendente de proximidad al elemento posicionador elegido (es decir, la mancha más próxima al elemento posicionador es la que se presenta primero, la siguiente mancha más cercana, en segundo lugar, etc.).

SortBlobs es una función extremadamente útil en los casos en los que hay múltiples manchas y se requiere determinar la posición de las manchas con respecto a las demás.

## SortBlobs Entradas

Parámetro | Descripción
Blobs | Este parámetro utiliza Referencias de celda que hacen referencia a la celda de la hoja de cálculo que contiene la estructura de datos de Blobs a clasificar u ordenar.
Número a clasificar | Especifica el número máximo de manchas (de 1 a 4096; por defecto = 3) que podrá devolver como resultado la función. Nota: Si el valor de este parámetro es mayor que cero, la función SortBlobs 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.
Clasificar por | Especifica cómo se medirán y clasificarán las manchas referenciadas.
0 = Y (por defecto) | Clasificación por distancia en Y en el sistema de coordenadas del elemento posicionador, de menor a mayor.
1 = X | Clasificación por distancia en X en el sistema de coordenadas del elemento posicionador, de menor a mayor.
2 = Ángulo | Clasificación por ángulo (de 0 a 360 grados) medido en sentido antihorario desde el eje Y del sistema de coordenadas del elemento posicionador hasta el segmento de línea definido por el centroide (centro de masas) de la mancha y el origen del elemento posicionador, de más cercano a más lejano, en orden descendente.
3 = Distancia angular | Clasificación por valor absoluto del ángulo (de -180 a 180 grados) medido desde el eje X del sistema de coordenadas del elemento posicionador hasta el segmento de línea definido por el centroide de la mancha y el origen del elemento posicionador, de más cercano a más lejano, en orden descendente.
4 = Distancia | Clasificación por distancia entre origen del elemento posicionador y centroide de la mancha, de más cercano a más lejano, en orden descendente.
5 = Cuadrícula Y | Clasificación por distancia en Y en el sistema de coordenadas del elemento posicionador y seguidamente por distancia en X, de más cercano a más lejano, en orden descendente. Nota: La función ClasificarBlobs devolverá #ERR si se selecciona Cuadrícula Y mientras que la función hace referencia a una imagen calibrada en coordenadas mundo, como una proporcionada por las funciones CalibrateImage o TransBlobsToWorld. La opción Cuadrícula Y solo puede aplicarse a coordenadas de píxel.
6 = Cuadrícula X | Clasificación por distancia en X en el sistema de coordenadas del elemento posicionador y seguidamente distancia en Y, de más cercano a más lejano, en orden descendente. Nota: La función ClasificarBlobs devolverá #ERR si se selecciona Cuadrícula X mientras que la función hace referencia a una imagen calibrada en coordenadas mundo, como una proporcionada por las funciones CalibrateImage o TransBlobsToWorld. La opción Cuadrícula X sólo puede aplicarse a coordenadas de píxel.
7 = Anchura | Clasificación por anchura, de mayor a menor.
8 = Altura | Clasificación por altura, de mayor a menor.
Elemento posicionador | Define el centro de masas (centroide) de la mancha referenciada con respecto al Fixture [Elemento posicionador] de entrada o en el sistema de coordenadas de la imagen de salida proporcionada por una herramienta del conjunto Vision Tools. Si se establece que el centro de masas de la mancha se define en relación con elemento posicionador, se asegura que cualquier desplazamiento o rotación del elemento posicionador implicará el correspondiente desplazamiento o rotación de la mancha con respecto al elemento posicionador. El valor de configuración predeterminado es (0,0,0), la esquina superior izquierda de la imagen.
X | El desplazamiento en X, en coordenadas de la imagen.
Y | El desplazamiento en Y, en coordenadas de la imagen.
Theta | La rotación desde el eje X de la imagen, en el sistema de coordenadas de imagen. (+/-360 grados en el sentido de las agujas del reloj)
Mostrar | Especifica el modo de visualización de las superposiciones gráficas de SortBlobs sobre la imagen.
0 = ocultar todo (por defecto) | Se ocultarán todos los gráficos, excepto cuando la celda que contiene la función SortBlobs 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.

## SortBlobs Salidas

Devuelve | Una estructura de datos de Blobs que contiene las manchas ordenadas según clasificación o #ERR si alguno de los parámetros de entrada no es válido.
Resultados | Cuando se inserta inicialmente SortBlobs en una celda, se crea una tabla de resultados en la hoja de cálculo. Nota: Si el valor del parámetro Número a clasificares mayor que cero, la función SortBlobs 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. Las siguientes funciones Blobs Funciones de Vision Data Access se insertan automáticamente en la hoja de cálculo para crear una tabla de resultados basada en la estructura de datos de SortBlobs:
Etiqueta | Función | Descripción
Índice |  | Un índice de 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.