# FindCircleDefects

FindCircleDefects convertit chaque pixel d’une région Anneau en une image d’entrée en noir ou en blanc en fonction d’un seuil défini par l’utilisateur : le blanc indique que la caractéristique n’est pas un cercle ou un rayon. L’utilisateur définit et positionne l’anneau sur l’image, et choisit si la fonction calcule le gradient des pixels dans une direction circulaire ou radiale. Les valeurs égales ou supérieures au niveau seuil sont affichées sous forme de pixels blancs dans l’image de sortie en noir et blanc.

## FindCircleDefects – Entrées

Paramètre | Description
Image | Ce paramètre doit faire référence à une cellule de feuille de calcul contenant une structure de données Image. Par défaut, le paramètre fait référence à A0, la cellule contenant la structure de données. Ce paramètre peut également faire référence à d’autres structures de données Image, telles que celles renvoyées par les Image Fonctions Vision Data Access (VDA) ou Fonctions de conversion de coordonnées.
Repère | Définit la région d’intérêt (ROI) par rapport à l’entrée d’un Fixture ou à la sortie du système de coordonnées de l’image d’une fonction Outils de vision. En définissant la ROI par rapport à un Repère, toute rotation ou translation de ce dernier entraînera systématiquement une rotation/translation de la ROI, 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).
Anneau | Aussi appelé région d’intérêt (ROI), spécifie la région de l’image qui fait l’objet d’une analyse ; crée une région d’image circulaire qui peut être translatée et pivotée. Lorsque ce paramètre est activé à l’aide du bouton Agrandir la région dans la barre d’outils de la feuille de propriétés, la région est automatiquement agrandie pour couvrir toute l’image.
X | L’offset en X de l’origine (coordonnées du repère).
Y | L’offset en Y de l’origine (coordonnées du repère).
Rayon intérieur | La taille du rayon intérieur.
Rayon extérieur | La taille du rayon extérieur.
Remarque : Les paramètres Repère et Anneau doivent être ajustés en fonction des limites de l’image. S’ils sont hors limites, la fonction renvoie #ERR.
Type de défaut | Indique le type de défaut ciblé par la fonction : circulaire ou radial. Les pixels dont la valeur de niveaux de gris varie par rapport aux pixels adjacents indiquent d’éventuels défauts.
0 = caractéristiques non circulaires (par défaut) | Définit le calcul du gradient des pixels, dans l’anneau, dans une direction circulaire pour détecter les déviations par rapport à un cercle.
1 = caractéristiques non radiales | Définit le calcul du gradient des pixels, dans l’anneau, dans une direction radiale pour détecter les déviations par rapport à des caractéristiques radiales.
Déviation | Indique le degré de tolérance dans le cadre de la détection des défauts.
0 = OFF (par défaut) | Indique que l’objet est circulaire et centré dans l’anneau (paramètre moins tolérant).
1 = ON | Indique que l’objet peut être ovale ou excentré dans l’anneau (paramètre plus tolérant).
Score minimum | Détermine le seuil de défaut, en valeur de niveaux de gris. (0 à 255 ; par défaut = 30)
Afficher | Indique les graphiques superposés visibles sur l’image.
0 = masquer tout (par défaut) | Les éléments graphiques disponibles sont masqués, sauf si la cellule contenant la fonction FindCircleDefects est en surbrillance dans la feuille de calcul.
1 = graphiques de résultats uniquement | L’image traitée est affichée à tout moment.
2 = graphiques d’entrée uniquement | Les éléments graphiques associés à la région d’image d’entrée sont toujours affichés.

## FindCircleDefects – Sorties

Renvoie | Une structure de données Image qui stocke l’image en noir et blanc (« binaire »), ou #ERR si l’un des paramètres d’entrée est incorrect.
Résultats | Un tableau de résultats est créé dans la feuille de calcul lorsque la fonction FindCircleDefects est insérée dans une cellule pour la première fois, à l’aide des Image Fonctions Vision Data Access (VDA) suivantes.
Label | Fonction | Description
Sombres | GetDarkPixelCount(Image) | Renvoie le nombre de pixels inférieur au seuil de défaut (les pixels sont affichés en noir).
Clairs | GetBrightPixelCount(Image) | Renvoie le nombre de pixels égal ou supérieur au seuil de défaut (les pixels sont affichés en blanc).
Il est possible d’accéder à d’autres éléments avec les Image Fonctions Vision Data Access (VDA) :
Surface | GetArea(Image) | Renvoie la surface de la région.

## FindCircleDefects – Exemple

Dans l’exemple ci-dessous, les objets synthétiques circulaires (à gauche) et radiaux (à droite) illustrés sont utilisés pour démontrer la fonctionnalité de FindCircleDefect. Les deux objets sont de couleur « gris moyen » : ils comportent des bordures intérieures et extérieures à la fois épaisses et sombres.

Après avoir inséré la fonction dans la feuille de calcul In-Sight, l’utilisateur peut définir l’anneau en effectuant un double-clic sur le mot « Anneau » dans la feuille de propriétés : il est alors remplacé par un anneau rouge superposé à l’image. L’utilisateur déplace ou redimensionne l’anneau à l’aide du curseur, puis clique sur le bouton OK dans la barre d’outils Modification du projet pour confirmer la sélection et revenir à la feuille de propriétés. (La sélection peut également être confirmée en appuyant sur la touche ENTRÉE ou en effectuant un double-clic à l’intérieur de l’anneau). Vous trouverez ci-dessous des images des objets avec leurs anneaux.

Sélectionnez un type de défaut (non-circulaire ou non-radial), puis activez ou désactivez la tolérance d’écart. En acceptant les réglages par défaut des autres paramètres et en cliquant sur OK dans la feuille de propriétés, la configuration prend fin (pour cet exemple) et la fonction est appliquée à l’image d’entrée.

Vous trouverez ci-dessous des images de sortie en noir et blanc de l’objet circulaire, avec la fonction paramétrée pour détecter les défauts non circulaires, le paramètre Score minimum avec la valeur par défaut (30) et la tolérance d’écart désactivée (OFF) à gauche et activée (ON) à droite. Remarque : lorsqu’il est désactivé (OFF, à gauche), le réglage est plus strict. Les pixels du bord extérieur de l’objet circulaire sont marqués comme des défauts possibles, même s’ils semblent faire partie de la courbe circulaire lisse.

Voici une image de sortie en noir et blanc du même objet circulaire. Désormais, la fonction est paramétrée pour détecter les défauts non radiaux. La fonction marque les bords intérieur et extérieur de la bordure extérieure comme des défauts radiaux possibles.

Vous trouverez ci-dessous des images de sortie en noir et blanc de l’objet radial, avec la fonction paramétrée pour détecter les défauts non radiaux, le paramètre Score minimum défini sur 70 et la tolérance d’écart désactivée (OFF) à gauche et activée (ON) à droite. Remarque : le réglage « OFF » (à gauche) est plus strict, marquant les bords extérieurs des caractéristiques radiales comme des défauts possibles.

Voici une image de sortie en noir et blanc du même objet radial. Désormais, l’outil est paramétré pour détecter les défauts non circulaires. La fonction marque toutes les caractéristiques radiales à l’intérieur de l’anneau comme des défauts circulaires possibles.

En pratique, l’utilisateur utiliserait ensuite un autre outil pour prendre une décision à partir des résultats de l’image de sortie.