FindBlobs

FindBlobs permet de filtrer et noter les objets blob dans une structure Blobs 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 Blobs, 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 Blobs 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 Blobs 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 Blobs 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 Blobs. 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 Blobs contenant les objets blob correspondant aux critères et triés par scores, ou #ERR si l’un des paramètres 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 Vision Data Access functions 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 Blobs. 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 Vision Data Access functions

Balise de feuille de calcul Fonction Description
Index   La position indexée d’un ou de plusieurs objets blob.

X

GetX(Blobs, Index de blob)

Renvoie l’abscisse du centre de gravité de l’objet blob référencé.

Y

GetY(Blobs, Index de blob)

Renvoie l’ordonnée du centre de gravité de l’objet blob référencé.

Angle

GetAngle(Blobs, Index de blob)

Renvoie l’angle du centre de gravité de l’objet blob référencé, par rapport au centre de la ROI.

Couleur

GetColor(Blobs, Index de blob)

Renvoie la valeur de couleur (0 = noir, 1 = blanc) de l’objet blob référencé.

Score

GetScore(Blobs, Index de blob)

Une mesure de la correspondance d’un objet blob avec les critères d’une fonction FindBlobs.

Surface

GetArea(Blobs, Index de 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 de 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, Index de blob)

Renvoie le nombre de trous dans l’objet blob référencé.

Périmètre

GetPerimeter(Blobs, Index de 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 de 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.