# FindBlobs

FindBlobs permet de filtrer et noter les objets blob dans une structure Objets blob par un ensemble pondéré de valeurs idéales.

## FindBlobs – Présentation

À l’aide des paramètres FindBlobs, une formule est créée pour calculer un score permettant de mesurer le niveau de correspondance entre les objets blob, référencés dans la structure de données Objets blob, et un objet blob dit « idéal ». En fonction des paramètres définis, FindBlobs ne renvoie que les objets blob qui correspondent aux exigences spécifiées.

Chaque objet blob de la structure de données Objets Blob référencée est soumis à une analyse en deux étapes : Dans un premier temps, chaque paramètre FindBlobs crée une formule qui évalue la valeur de ce paramètre particulier. Par exemple, le score d’angle est calculé en divisant les différences entre la valeur Plage et la valeur Angle du paramètre Angle, avec la valeur Plage et la valeur Angle de l’objet blob référencé, multipliées par la valeur Pondération. Une fois les scores individuels calculés, leur somme est divisée par la somme des valeurs individuelles du paramètre Pondération. Ce score est ensuite comparé à la valeur du score minimum pour déterminer si l’objet blob répond ou non aux exigences spécifiées.

Une fois que FindBlobs a filtré et trié les objets blob extraits, 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 classé par ordre décroissant, en fonction du degré de correspondance des objets blob trouvés avec les exigences spécifiées.

FindBlobs peut être extrêmement utile pour classer les caractéristiques afin de détecter des défauts. Par exemple, si le système doit détecter des rayures sur une surface, FindBlobs peut être configurée de manière à ne renvoyer que les objets blob avec des valeurs Elongation plus élevées. Ou, s’il est demandé de détecter des défauts de bords crénelés, FindBlobs peut être configurée pour ne renvoyer que les objets blob ayant des valeurs Périmètre ou Compacité plus élevées.

## FindBlobs – Entrées

Paramètre | Description
Blobs | Ce paramètre utilise des Références à des cellules pour une structure de données Objets blob qui doit être filtrée et classée.
Nombre à chercher | Ce paramètre indique le nombre maximum (1 à 4096 ; par défaut = 3) d’objets blob à renvoyer. Dans l’image, si le nombre d’objets blob, dont les scores dépassent le score minimum, est majoritaire, les objets blob avec les scores les plus élevés seront sélectionnés. Remarque : Si la valeur du paramètre Nombre à chercher est supérieure à zéro, FindBlobs 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é.
Score minimum | Détermine le score de correspondance minimum (0 à 100 ; 10 par défaut). FindBlobs ne renvoie que les objets blob dont le score de correspondance est supérieur au Seuil d’acceptation. Le score de correspondance est calculé à l’aide de la formule suivante : (score Angle + score Surface + score Elongation + score Trous + score Périmètre + score Compacité) × (100/somme des valeurs Pondération des paramètres)
Angle | Ce paramètre permet de configurer la formule de score qui identifie le score idéal d’angle (+/- degrés, sens antihoraire) pour les objets blob trouvés. Formule de score : Angle Le score d’angle FindBlobs est calculé à l’aide de la formule suivante : Score Angle = [(Plage + Angle) - BlobAngleVal]/Plage × Pondération BlobAngleVal = la valeur Angle de sortie de l’objet blob référencé WeightVal = Pondération/(somme de toutes les valeurs Pondération) × 100
Angle | Angle idéal des objets blob (-360 à 360 ; 0 par défaut).
Plage | Tolérance angulaire de blob dans les scores de similarité (0 à 360 ; 0 par défaut).
Pondération | Importance relative des angles des objets blob dans les scores de similarité (0 à 100 ; 0 par défaut).
Surface | Ce paramètre permet de configurer la formule de score qui identifie le score idéal de surface pour les objets blob trouvés. Formule de score : Surface Le score de surface FindBlobs est calculé à l’aide des formules suivantes (selon les valeurs BlobAreaVal et Surface) : Si BlobAreaVal est supérieure à la valeur Surface : Score Surface = [(Plage + Surface) - BlobAreaVal]/Plage × Pondération Si BlobAreaVal est inférieure à la valeur Surface : Score Surface = [BlobAreaVal - (Zone - Plage)]/Plage × Pondération BlobAreaVal = la valeur Surface de sortie de l’objet blob référencé WeightVal = Pondération/(somme de toutes les valeurs Pondération) × 100
Surface | Surface idéale des objets blob en pixels (0 à 900000 ; 1000 par défaut).
Plage | Tolérance de région de blob dans les scores de similarité (0 à 900000 ; 20000 par défaut).
Pondération | Importance relative de la région des objets blob dans les scores de similarité (0 à 100 ; 50 par défaut).
Elongation | Ce paramètre permet de configurer la formule de score qui identifie le score idéal Elongation pour les objets blob trouvés. Formule de score : Elongation Le score Elongation FindBlobs est calculé à l’aide de la formule suivante : Score Elongation = [(Plage + Elongation) - BlobElongationVal]/Plage × Pondération BlobElongationVal = la valeur Elongation de sortie de l’objet blob référencé WeightVal = Pondération/(somme de toutes les valeurs Pondération) × 100
Elongation | Elongation idéale des objets blob (0 à 900000 ; 1 par défaut).
Plage | Tolérance d’élongation de blob dans les scores de similarité (0 à 900000 ; 2 par défaut).
Pondération | Importance relative de l’élongation des objets blob dans les scores de similarité (0 à 100 ; 50 par défaut).
Trous | Ce paramètre permet de configurer la formule de score qui identifie le score idéal de trous pour les objets blob trouvés. Formule de score : Trous Le score de trous FindBlobs est calculé à l’aide de la formule suivante : Score Trous = [(Plage + Nombre) - BlobHolesVal]/Plage × Pondération BlobHolesVal = la valeur Trous de sortie de l’objet blob référencé WeightVal = Pondération/(somme de toutes les valeurs Pondération) × 100
Nombre | Décompte idéal de trous d’objet blob (0 à 10000 ; 0 par défaut).
Plage | Tolérance de décompte des trous de blob dans les scores de similarité (0 à 10000 ; 2 par défaut).
Pondération | Importance relative des décomptes des trous des objets blob dans les scores de similarité (0 à 100 ; 0 par défaut).
Périmètre | Ce paramètre permet de configurer la formule de score qui identifie le score idéal de périmètre pour les objets blob trouvés. Formule de score : Périmètre Le score de périmètre FindBlobs est calculé à l’aide de la formule suivante : Score Périmètre = [(Plage + Périmètre) - BlobPerimeterVal]/Plage × Pondération BlobPerimeterVal = la valeur Périmètre de sortie de l’objet blob référencé WeightVal = Pondération/(somme de toutes les valeurs Pondération) × 100
Périmètre | Elongation idéale des objets blob (0 à 100000 ; 1000 par défaut).
Plage | Tolérance de périmètre des objets blob dans les scores de similarité (0 à 100000 ; 10000 par défaut).
Pondération | Importance relative du périmètre des objets blob dans les scores de similarité (0 à 100 ; 50 par défaut).
Compacité | Ce paramètre permet de configurer la formule de score qui identifie le score idéal de compacité pour les objets blob trouvés. Formule de score : Compacité Le score de compacité FindBlobs est calculé à l’aide de la formule suivante : Score Compacité = [(Plage + Compacité) - BlobSpreadVal]/Plage × Pondération BlobSpreadVal = la valeur Compacité de sortie de l’objet blob référencé WeightVal = Pondération/(somme de toutes les valeurs Pondération) × 100
Compacité | Compacité idéale des objets blob (0 à 900000 ; 1 par défaut).
Plage | Tolérance de compacité des objets blob dans les scores de similarité (0 à 900000 ; 2 par défaut).
Pondération | Importance relative de la compacité des objets blob dans les scores de similarité (0 à 100 ; 50 par défaut).
Afficher | Détermine le mode d’affichage des graphiques superposés de FindBlobs sur l’image.
0 = masquer tout (par défaut) | Tous les graphiques sont masqués, sauf si la cellule contenant la fonction FindBlobs est en surbrillance dans la feuille de calcul.
1 = graphiques de résultats uniquement | Les contours des objets blob extraits sont toujours affichés.

## FindBlobs – Sorties

Renvoie | Une structure de données Objets blob contenant les objets blob correspondant aux critères et triés par scores, ou #ERR si un paramètre d’entrée est incorrect.
Résultats | Lorsque FindBlobs est initialement insérée dans une cellule, un tableau de résultats est créé dans la feuille de calcul à l’aide des Blobs Fonctions Vision Data Access (VDA) suivantes. Remarque : Si la valeur du paramètre Nombre à chercher est supérieure à zéro, FindBlobs 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é. Il est possible d’accéder à d’autres éléments avec les Blobs Fonctions Vision Data Access (VDA)
Balise de feuille de calcul | Fonction | Description
--- | --- | ---
Index |  | La position indexée d’un ou de plusieurs 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.