# SortBlobs

Cette fonction est utilisée pour trier les objets blob référencés dans une structure de données Blobs, par rapport à un repère.

## SortBlobs – Présentation

En calculant la position du centre de gravité de l’objet blob référencé par rapport au système de coordonnées du repère de l’image spécifié, SortBlobs trie les objets blob référencés en fonction de l’une de leurs caractéristiques de mesure (distance de l’objet blob le long de l’axe X ou Y, par rapport à l’origine du repère ou à une grille, ou l’angle ou la distance angulaire de l’objet blob).

Chaque objet blob de la structure de données Blobs référencée est examiné et, en fonction du réglage du paramètre Trier par, l’objet blob est identifié et sa position est calculée en mesurant la distance (ou la relation angulaire) entre l’objet blob et un emplacement fixe.

Une fois que SortBlobs a trié les objets blob référencés, une nouvelle structure de données Objets blob et le tableau de résultats correspondant sont automatiquement insérés dans la feuille de calcul. Le tableau des résultats est trié en fonction de la proximité de l’objet blob par rapport au repère choisi, par ordre décroissant (l’objet blob le plus proche est listé en premier, le suivant en deuxième et ainsi de suite).

SortBlobs est une fonction extrêmement utile lorsqu’il existe plusieurs objets blob et quand la position de chaque objet blob par rapport aux autres objets blob doit être déterminée.

## SortBlobs – Entrées

Paramètre | Description
Blobs | Ce paramètre utilise des Références à des cellules à une cellule de feuille de calcul contenant la structure de données Blobs qui doit être triée.
Nombre à classer | Détermine le nombre maximum d’objets blob à renvoyer (1 à 4096 ; 3 par défaut). Remarque : Si la valeur de ce paramètre est supérieure à zéro, SortBlobs insère automatiquement un tableau de résultats contenant maximum 10 entrées, correspondant aux 10 premiers objets blob de la structure de données Objets blob. Pour afficher davantage d’entrées, vous pouvez agrandir le tableau en copiant la dernière ligne et en collant des lignes supplémentaires à la fin. N’oubliez pas d’incrémenter le numéro d’index des nouvelles lignes afin que le bon objet blob soit indexé.
Trier par | Définit comment les objets blob référencés sont mesurés et classés.
0 = Y (par défaut) | Trie par distance, en fonction des ordonnées du repère, du plus petit au plus grand.
1 = X | Trie par distance, en fonction des abscisses du repère, du plus petit au plus grand.
2 = Angle | Trie par angle (0 à 360 degrés), mesuré dans le sens antihoraire entre l’axe des ordonnées du système de coordonnées du repère et le segment défini par le centre de gravité de l’objet blob et l’origine du repère, du plus proche au plus éloigné, dans l’ordre décroissant.
3 = Distance angulaire | Trie par valeur absolue de l’angle (-180 à 180 degrés), mesuré entre l’axe des abscisses du système de coordonnées de repère et le segment défini par le centre de gravité de l’objet blob et l’origine du repère, du plus proche au plus éloigné, dans l’ordre décroissant.
4 = Distance | Trie par distance entre le repère de référence et le centre de gravité de l’objet blob, de la plus proche à la plus éloignée, par ordre décroissant.
5 = Grille Y | Trie d’abord par distance, en fonction des ordonnées du repère, puis par distance, en fonction des abscisses, du plus proche au plus éloigné, par ordre décroissant. Remarque : SortBlobs renvoie #ERR si la Grille Y est sélectionnée et la fonction fait référence à une image calibrée avec des valeurs de coordonnées réelles, comme la sortie d’une fonction CalibrateImage ou TransBlobsToWorld. Le tri de la Grille Y ne peut être appliqué qu’aux coordonnées de pixels.
6 = Grille X | Trie d’abord par distance, en fonction des abscisses du repère, puis par distance, en fonction de l’axe des ordonnées, du plus proche au plus éloigné, par ordre décroissant. Remarque : SortBlobs renvoie #ERR si la Grille X est sélectionnée et la fonction fait référence à une image calibrée avec des valeurs de coordonnées réelles, comme la sortie d’une fonction CalibrateImage ou TransBlobsToWorld. Le tri de la Grille X ne peut être appliqué qu’aux coordonnées de pixels.
7 = Largeur | Trie par valeurs de largeur, de la plus grande à la plus petite.
8 = Hauteur | Trie par les valeurs de hauteur, de la plus grande à la plus petite.
Repère | Définit le centre de gravité de l’objet blob référencé par rapport à une entrée de Fixture ou à la sortie du système de coordonnées d’image d’une fonction de l’Outils de vision. En définissant le centre de gravité d’un objet blob référencé par rapport à un Repère, toute rotation ou translation de ce dernier entraînera systématiquement une rotation/translation de l’objet blob référencé, le cas échéant. Le paramètre par défaut est (0,0,0), le coin supérieur gauche de l’image.
X | L’offset en X (coordonnées de l’image).
Y | L’offset en Y (coordonnées de l’image).
Thêta | La rotation par rapport à l’axe X de l’image, dans le système de coordonnées de l’image (+/-360 degrés dans le sens horaire).
Afficher | Détermine le mode d’affichage des graphiques superposés de SortBlobs sur l’image.
0 = masquer tout (par défaut) | Tous les graphiques sont masqués, sauf si la cellule contenant la fonction SortBlobs est en surbrillance dans la feuille de calcul.
1 = graphiques de résultats uniquement | Les contours des objets blob extraits sont toujours affichés.

## SortBlobs – Sorties

Renvoie | Une structure de données Blobs contenant les objets blob triés, ou #ERR si un paramètre d’entrée est incorrect.
Résultats | Un tableau de résultats est créé dans la feuille de calcul lorsqu’une fonction SortBlobs est insérée dans une cellule pour la première fois. Remarque : Si la valeur du paramètre Nombre à classer est supérieure à zéro, SortBlobs insère automatiquement un tableau de résultats contenant maximum 10 entrées, correspondant aux 10 premiers objets blob de la structure de données Objets blob. Pour afficher davantage d’entrées, vous pouvez agrandir le tableau en copiant la dernière ligne et en collant des lignes supplémentaires à la fin. N’oubliez pas d’incrémenter le numéro d’index des nouvelles lignes afin que le bon objet blob soit indexé. Les Blobs Fonctions Vision Data Access (VDA) suivantes sont automatiquement insérées dans la feuille de calcul pour créer le tableau de résultats de la structure de données SortBlobs :
Label | Fonction | Description
Index |  | Un index des objets blob
X | GetX(Blobs, Index d’objet blob) | Renvoie l’abscisse du centre de gravité de l’objet blob référencé.
Y | GetY(Blobs, Index d’objet blob) | Renvoie l’ordonnée du centre de gravité de l’objet blob référencé.
Angle | GetAngle(Blobs, Blob Index) | Renvoie l’angle du centre de gravité de l’objet blob référencé, par rapport au centre de la ROI.
Couleur | GetColor(Blobs, Blob Index) | Renvoie la valeur de couleur (0 = noir, 1 = blanc) de l’objet blob référencé.
Score | GetScore(Blobs, Index d’objet blob) | Une mesure de la correspondance d’un objet blob avec les critères d’une fonction FindBlobs.
Surface | GetArea(Blobs, Index d’objet blob) | Renvoie la surface de l’objet blob référencé (en pixels). Remarque : Si l’objet blob comporte des trous, la valeur de la surface modifie l’état de la case à cocher Inclure les trous.
Elongation | GetElongation(Blobs, Index d’objet blob) | Renvoie une valeur associée à l’étirement des pixels de l’objet blob référencé vis-à-vis de son centre de gravité. Par exemple, un cercle peut avoir une valeur Elongation de 0, tandis que celle d’un clou peut être élevée.
Trous | GetHoles(Blobs, Blob Index) | Renvoie le nombre de trous dans l’objet blob référencé.
Périmètre | GetPerimeter(Blobs, Index d’objet blob) | Renvoie la longueur de la limite autour de l’objet blob référencé. Le périmètre est calculé en comptant les bords externes des pixels délimitent l’objet blob.
Compacité | GetSpread(Blobs, Index d’objet blob) | Renvoie une valeur associée à l’éloignement des pixels de l’objet blob référencé vis-à-vis de son centre de gravité. Par exemple, un objet de forme circulaire a une valeur de compacité inférieure à celle d’un objet de forme ovale.