# InspectEdgeForDefect

La fonction InspectEdgeForDefect est utilisée pour concevoir un modèle de bord permettant d’effectuer une analyse avancée des bords, ou des paires de bords, renvoyé(e)s par la fonction InspectEdge. Ces données sont utilisées pour créer un ajustement optimal de la ligne, comparer les bords ou paires de bords trouvés, et détecter les défauts et les écarts, notamment la distance par rapport à l’ajustement de la ligne.

## InspectEdgeForDefect – Présentation

Après avoir inséré la fonction dans la feuille de calcul, une sortie de structure de données Inspect doit être référencée à l’aide d’une fonction InspectEdge. Une fois la référence à la fonction InspectEdge établie, le modèle de bords est créé en configurant les paramètres de la fonction InspectEdgeForDefect. Lorsqu’un modèle de bords est utilisé, les éléments suivants doivent être définis :

- Le type d’ajustement de la ligne (droite ou cercle).
- Le type de bord (simple ou paire de bords).
- Le type de transition des bords (blanc/noir ou noir/blanc).
- Les critères de notation des bords, utilisés pour filtrer les bords indésirables.
- Les critères d’ajustement de la ligne qui seront utilisés pour filtrer les bords indésirables de l’ajustement de la ligne.
- Les tolérances pour les défauts et/ou les écarts à rencontrer.

Une fois le modèle de bords établi, la fonction compare les bords candidats au modèle de bords et indique les écarts entre les deux.

Exemple : Bord avec ajustement de la ligne droite (réussite)

Exemple : Bord avec ajustement de la ligne droite (échec)

Exemple : Bord avec ajustement du cercle (échec)

## InspectEdgeForDefect – Entrées

Paramètre | Description
InspectEdge | Détermine une référence à une cellule de feuille de calcul qui contient une structure de données Inspect valide, renvoyée par une fonction InspectEdge.
Ajustement de la ligne | Définit le type d’ajustement de ligne à concevoir à partir des bords détectés.
1 = Ajustement de la ligne droite | La fonction va créer un ajustement de ligne droite à partir des bords détectés.
2 = Ajustement du cercle | La fonction va créer un ajustement de ligne circulaire à partir des bords détectés.
3 = Ajustement automatique (par défaut) | La fonction crée automatiquement un ajustement de ligne droite ou circulaire, en fonction de la région référencée.
Inspecter les paires de bords | Indique si la fonction doit détecter les paires de bords. Les paires de bords détectées sont balisées sur l’image : le premier bord détecté est le bord « 0 », le second « 1 », et ainsi de suite.
0 = OFF (par défaut) | La fonction ne détecte pas les paires de bords.
1 = ON | La fonction tente de détecter les paires de bords, en se basant sur les paramètres Score du bord.
Détection du sens du bord | Indique le sens dans lequel la fonction va tenter de détecter les bords. Des flèches (couleur vert foncé) sont ajoutées pour illustrer le sens de détection du bord. Les lignes d’ajustement seront étiquetées graphiquement sur l’image : la première ligne avec 0 et la deuxième avec 1. Remarque : Si la région d’intérêt (ROI) de la fonction référencée InspectEdge forme une courbe, l’inspection est relative au centre de la courbe. Lorsque le paramètre Détection du sens du bord est défini sur Gauche/droite, l’inspection est réalisée vers le centre de la courbe. À l’inverse, lorsqu’il est défini sur Droite/gauche, l’inspection s’éloigne du centre de la courbe.
0 = Gauche/droite (par défaut) | La fonction tente de détecter les bords de la gauche de la ROI vers la droite. Exemple
1 = Droite/gauche | La fonction tente de détecter les bords de la droite de la ROI vers la gauche. Exemple
3 = Centre/extérieur | La fonction tente de détecter les bords depuis le centre de la ROI jusqu’aux limites supérieure et inférieure de la ROI (l’ordre des bords trouvés sera dans le sens opposé à la flèche « X » sur la ROI). Exemple Remarque : Le paramètre Inspecter les paires de bords doit être activé pour permettre cette sélection.
2 = Extérieur/intérieur | La fonction tente de détecter les bords depuis les limites supérieure et inférieure de la ROI vers le centre de celle-ci (l’ordre des bords trouvés sera dans le sens opposé à la flèche « X » sur la ROI). Exemple Remarque : Le paramètre Inspecter les paires de bords doit être activé pour permettre cette sélection.
Bord : Premier | Indique la transition de contraste du premier bord à détecter, tel que déterminé par le paramètre Détection du sens du bord.
1 = noir/blanc | Le bord présente une transition de type pixels noirs vers pixels blancs.
2 = blanc/noir (par défaut) | Le bord présente une transition de type pixels blancs vers pixels noirs.
3 = indifférent | Le bord peut présenter deux types de transition (noirs/blancs ou blancs/noirs), et la fonction déterminera celui approprié. Spécifier le bord améliore les performances de la fonction.
Bord : Deuxième | Indique la transition de contraste du second bord à détecter, tel que déterminé par le paramètre Détection du sens du bord. Remarque : Le paramètre Inspecter les paires de bords doit être activé pour permettre cette sélection.
1 = noir/blanc (par défaut) | Le bord présente une transition de type pixels noirs vers pixels blancs.
2 = blanc/noir | Le bord présente une transition de type pixels blancs vers pixels noirs.
3 = indifférent | Le bord peut présenter deux types de transition (noirs/blancs ou blancs/noirs), et la fonction déterminera celui approprié. Spécifier le bord améliore les performances de la fonction.
Score du bord | Spécifie le mode de notation des bords utilisé pour déterminer si un bord répond ou non aux critères établis.
Seuil de score | Indique un seuil de notation pour filtrer les bords dont les scores (compris entre 1 et 100 ; par défaut = 10) sont inférieurs à cette valeur.
Règles des bords | Indique le type de bord qui est le plus important lors du calcul du score.
1 = Premier | Le premier bord détecté est priorisé.
2 = Le plus marqué | Le bord avec la transition de contraste la plus marquée est priorisé.
3 = Premier le plus marqué (par défaut) | Le premier bord détecté, avec transition la plus marquée, est priorisé.
4 = Taille de la paire de bords | La paire de bords détectée, dont la taille est la plus proche du paramètre Taille de la paire, est priorisée.
5 = Taille de la première paire de bords | La première paire de bords détectée, dont la taille est la plus proche du paramètre Taille de la paire, est priorisée.
6 = Taille de la paire de bords la plus marquée | La paire de bords détectée avec la transition la plus marquée, dont la taille est la plus proche du paramètre Taille de la paire, est priorisée.
7 = Taille de la première paire de bords la plus marquée | La première paire de bords, avec la transition la plus marquée, dont la taille est la plus proche du paramètre Taille de la paire, est priorisée.
Limite de contraste supérieure | Détermine la limite supérieure de la transition de contraste du bord (2 à 255 ; par défaut = 255) pour être considérée comme un bord. Les bords dont la transition de contraste est supérieure à cette valeur auront le même score le plus élevé. Remarque : Pour activer ce paramètre, le paramètre Règles de bord doit être défini sur Le plus marqué, Premier le plus marqué, Taille de la paire de bords la plus marquée ou Taille de la première paire de bords la plus marquée.
Taille des paires | Détermine la taille de la paire de bords pour laquelle le score le plus élevé est obtenu (la plage valide est 1 à 3 fois supérieure à la largeur d’image du système de vision In-Sight ; par défaut = 5). Lorsque ce paramètre est activé, les paires de bords détectées au-dessus ou au-dessous de cette valeur sont notées proportionnellement à cette valeur. Par exemple, si Taille de la paire est définie sur 10 et que deux paires de bords candidats sont détectées, une avec une valeur de 8 et l’autre avec une valeur de 14, la paire de bords avec une valeur de 8 est sélectionnée car elle est plus proche de la limite. Remarque : Le paramètre Inspecter les paires de bords doit être activé et le paramètre Règles de bords doit être défini sur Taille de la paire de bords, Taille de la première paire de bords, Taille de la paire de bords la plus marquée ou Taille de la première paire de bords la plus marquée pour qu’il soit activé.
Ajustement avancé de la ligne | Indique comment la fonction doit concevoir l’ajustement de la ligne.
Observations aberrantes du filtre | Spécifie que la fonction supprimera les points de la ligne d’ajustement dont l’éloignement est supérieur à la distance spécifiée dans le paramètre Ajuster le filtre de distance.
0 = OFF (par défaut) | La fonction ne tient pas compte des bords aberrants.
1 = ON | La fonction tient compte des bords aberrants dans son calcul.
Ajuster le filtre de distance | Indique la distance, en pixels (les plages valides sont 1 à 3 fois supérieures à la largeur d’image du système de vision In-Sight ; par défaut = 2), qui doit séparer un bord de la ligne d’ajustement originale pour être utilisé dans un calcul de réajustement. Ce paramètre est utile pour éviter que les défauts n’affectent l’ajustement de ligne. Filtrer les bords aberrants doit être activée pour modifier ce paramètre.
Distance de filtrage du point le plus éloigné | Indique la distance séparant un bord aberrant de l’ajustement de ligne pour être considéré comme associé à l’ajustement de ligne (les plages valides sont 1 à 3 fois supérieures à la largeur d’image du système de vision In-Sight ; la valeur par défaut est 3 fois supérieure à la largeur d’image du système de vision). Les bords supérieurs à cette valeur sont ignorés.
Nouveau score | Indique que les bords font l’objet d’une réévaluation pour repérer ceux qui sont plus proches de l’ajustement de ligne.
0 = OFF (par défaut) | La fonction n’effectue pas de réévaluation des bords pour tenir compte de ceux qui sont aberrants.
1 = ON | La fonction effectue une réévaluation des bords pour tenir compte des bords aberrants dans son calcul.
Nouvel ajustement | Indique que la fonction revoit l’ajustement de ligne après réévaluation des bords. Activer cette fonctionnalité améliore la précision de l’ajustement de ligne, mais augmente le temps de traitement.
0 = OFF (par défaut) | La fonction ne tente pas de revoir l’ajustement de ligne.
1 = ON | La fonction revoit l’ajustement de ligne après réévaluation des bords.
Nombre maximal de défauts/d’écarts | Indique le nombre maximum de défauts et/ou d’écarts que la fonction doit s’attendre à détecter (1 à 4096 ; par défaut = 5). Cette valeur est appliquée aux défauts et aux écarts individuellement : par exemple, si le paramètre est 5, la fonction s’attend à rencontrer un maximum de 5 défauts et 5 écarts. Ce paramètre est utilisé pour créer le tableau de Résultats de vision dans la feuille de calcul.
Défauts | Indique les paramètres permettant de déterminer les défauts du bord à partir de l’ajustement de la ligne.
Distance min. | Indique qu’une distance, en pixels (plages valides comprises entre 0,001 et 3 fois la largeur d’image du système de vision In-Sight ; par défaut = 3), entre le bord et l’ajustement de la ligne inférieure à cette valeur ne constitue pas un défaut.
Distance max. | Indique qu’une distance, en pixels (plages valides comprises entre 0,001 et 3 fois la largeur d’image du système de vision In-Sight ; par défaut = 3 fois la largeur d’image du système de vision), entre le bord et l’ajustement de la ligne, supérieure à cette valeur, ne constitue pas un défaut. Remarque : Si cette valeur est inférieure au paramètre Distance min., la fonction renvoie #ERR.
Taille activée | Indique si la fonction tient compte ou non des défauts de taille. Les défauts de taille prennent en compte la longueur du bord. Remarque : Lorsque Taille activée et Surface activée sont toutes les deux activées, seuls les défauts qui ne remplissent pas les deux conditions sont affichés.
0 = OFF | La fonction ne tient pas compte des défauts de taille.
1 = On (par défaut) | La fonction tient compte des défauts de taille, en fonction des paramètres Taille min. et Taille max.
Taille min. | Définit la taille minimale du défaut, en pixels (plages valides comprises entre 0,001 et 3 fois la largeur d’image du système de vision In-Sight ; par défaut = 3). Les écarts continus par rapport à l’ajustement de la ligne qui sont inférieurs à cette valeur ne sont pas considérés comme des défauts.
Taille max. | Définit la taille maximale du défaut, en pixels (plages valides comprises entre 0,001 et 3 fois la largeur d’image du système de vision In-Sight ; par défaut = 3 fois la largeur d’image du système de vision). Les écarts continus par rapport à l’ajustement de la ligne qui sont supérieurs à cette valeur ne sont pas considérés comme des défauts.
Surface activée | Indique si la fonction tient compte ou non des défauts de surface. Les défauts de surface tiennent compte de la longueur d’ajustement de la ligne et de la distance entre le bord avec défaut et l’ajustement de la ligne. Remarque : Lorsque Taille activée et Surface activée sont toutes les deux activées, seuls les défauts qui ne remplissent pas les deux conditions sont affichés.
0 = OFF | La fonction ne tient pas compte des défauts de surface.
1 = ON (par défaut) | La fonction tient compte des défauts de surface, en fonction des paramètres Surface min. et Surface max.
Surface min. | Indique la surface minimale de défaut, en pixels (plage valide comprise entre 0,000 et 1000000 ; par défaut = 10). Une surface inférieure à cette valeur n’est pas considérée comme un défaut.
Surface max. | Indique la surface maximale de défaut, en pixels (plage valide comprise entre 0,000 et 1000000 ; par défaut = 1000000). Une surface supérieure à cette valeur n’est pas considérée comme un défaut.
Filtre d’ajustement de ligne de défaut | Définit s’il faut filtrer ou non les défauts en fonction de leur position par rapport à l’ajustement de la ligne.
0 = Pas de filtre (par défaut) | La fonction renvoie les défauts des deux côtés de l’ajustement de la ligne.
1 = Ignorer la partie à gauche de l’ajustement de la ligne | La fonction filtre les défauts du côté gauche. Seuls les défauts détectés côté droit de l’ajustement de la ligne sont renvoyés.
2 = Ignorer la partie à droite de l’ajustement de la ligne | La fonction filtre les défauts du côté droite. Seuls les défauts détectés côté gauche de l’ajustement de la ligne sont renvoyés.
Critères de tri | Définit comment les défauts détectés sont triés.
Par taille (par défaut) | La fonction trie les défauts détectés en fonction de leur taille, de la plus grande à la plus petite.
Par surface | La fonction trie les défauts détectés en fonction de leur surface, de la plus grande à la plus petite.
Par position | La fonction trie les défauts détectés en fonction de leur index de caliper.
Écarts | Indique les paramètres permettant de déterminer les écarts du bord.
Activé | Indique si la fonction tient compte ou non des écarts du bord trouvé.
0 = OFF | La fonction ne tient pas compte des écarts.
1 = ON (par défaut) | La fonction tient compte des écarts, selon les autres paramètres Écarts définis.
Écart minimal | Définit la taille minimale de l’écart, en pixels (plages valides comprises entre 0,001 et 3 fois la largeur d’image du système de vision In-Sight ; par défaut = 3). Les écarts inférieurs à cette valeur ne sont pas considérés comme des écarts.
Écart maximal | Définit la taille maximale de l’écart, en pixels (plages valides comprises entre 0,001 et 3 fois la largeur d’image du système de vision In-Sight ; par défaut = 3 fois la largeur d’image du système de vision). Les écarts supérieurs à cette valeur ne sont pas considérés comme des défauts.
Déplacement max. | Définit la valeur maximale de déplacement, en pixels (plages valides comprises entre 1 et 3 fois la largeur d’image du système de vision In-Sight ; par défaut = 3 fois la largeur d’image du système de vision) par rapport à l’ajustement de la ligne. Ce réglage fait office de filtre pour ignorer les bords détectés le long d’un autre ajustement de la ligne. Remarque : Si le paramètre Inspecter les paires de bords est activé, la valeur maximale de déplacement est mesurée, en pixels, du centre de la région au centre de la paire de bords. Si cette distance est supérieure à la valeur du paramètre Déplacement max., l’élément est considéré comme un écart.
Ignorer les écarts au niveau des extrémités | Indique si la fonction tient compte ou non des écarts détectés au début et à la fin de la ROI.
0 = OFF | La fonction ne tient pas compte des écarts détectés au début et à la fin de la ROI.
1 = ON (par défaut) | La fonction tient compte des écarts détectés au début et à la fin de la ROI.
Critères de tri | Définit comment les écarts détectés sont triés.
Par taille (par défaut) | La fonction trie les écarts détectés en fonction de leur taille, du plus grand au plus petit.
Par position | La fonction trie les écarts détectés en fonction de leur index de caliper.
Index du caliper | Indique le caliper à afficher sur l’image (en vert) ; caliper affiché par défaut : 0.
Afficher | Détermine le mode d’affichage des graphiques, superposés à l’image, de la fonction.
0 = masquer tout (par défaut) | Tous les graphiques sont masqués, sauf lorsque la cellule contenant la fonction InspectEdgeForDefect est mise en évidence dans la feuille de calcul.
1 = graphiques de résultats uniquement | L’ajustement de la ligne, les défauts détectés, les points et/ou les écarts aberrants sont toujours affichés.
2 = graphiques de résultats et bord reperé | L’ajustement de la ligne, les défauts détectés, les points et/ou les écarts aberrants, et les points de bords détectés sont toujours affichés.
3 = graphiques de résultats et détails du caliper | L’ajustement de la ligne, les défauts détectés, les points et/ou les écarts aberrants, les points de bords détectés et la fenêtre caliper indexée sont toujours affichés.
4 = afficher tout : entrées et graphiques de résultats | La région d’entrée, l’ajustement de la ligne, les défauts détectés, les points et/ou les écarts aberrants, et les points de bords détectés sont toujours affichés.

## InspectEdgeForDefect – Sorties

Renvoie | Une structure de données Inspect contenant les défauts, les extrêmes et les écarts détectés, ou #ERR si l’un des paramètres d’entrée est incorrect.
Résultats | Lorsque la fonction InspectEdgeForDefect est initialement insérée dans une cellule, un tableau de résultats est créé dans la feuille de calcul, correspondant au type de recherche effectuée. Remarque : Si la valeur du paramètre Nombre maximal de défauts/d’écarts est supérieure à zéro, InspectEdgeForDefect insère automatiquement un tableau de résultats contenant maximum 10 entrées, correspondant aux 10 premiers défauts/écarts/bords/paires de bords de la structure de données. 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. Les InspectEdge 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 InspectEdgeForDefect divisé en quatre sections, à savoir Résumé, Défauts, Écarts et Extrêmes :
Nom de la feuille de calcul | Nom de la fonction | Description
Synthèse
Défauts/écarts | GetDefectGapCount(Inspect, Défaut/Écart, Taille/Surface, Index Paire de bords) | Renvoie le nombre de défauts/écarts, selon ce qui est spécifié. Défauts = 0, Écart = 1, Taille = 0, Surface = 1.
X 0/1 | GetFitEdgeX(Inspect, Index Paire de bords, Index de point, Index de bord) | Renvoie l’abscisse du point spécifié.
Y 0/1 | GetFitEdgeY(Inspect, Index Paire de bords, Index de point) | Renvoie l’ordonnée du point spécifié.
Centre X | GetFitEdgeCenterX(Inspect, Index de point) | Insérée lorsqu’un ajustement de cercle est spécifié. Renvoie l’abscisse du centre de l’ajustement de cercle.
Centre Y | GetFitEdgeCenterY(Inspect, Index de point) | Insérée lorsqu’un ajustement de cercle est spécifié. Renvoie l’ordonnée du centre de l’ajustement de cercle.
Rayon | GetFitEdgeRadius(Inspect, Index Paire de bords, Index de point) | Insérée lorsqu’un ajustement de cercle est spécifié. Renvoie la distance à partir du centre de l’ajustement de cercle pour la paire de bords sélectionnée.
Défauts/écarts
Taille/Surface | GetDefectGapValue(Inspect, Index Défaut/Écart, Défaut/Écart, Index Paire de bords, Taille/Surface/Largeur) | Renvoie la taille ou la surface du défaut/de l’écart. Défaut = 0, Écart = 1 ; Taille = 0, Surface = 1, Largeur = 2.
X | GetDefectGapBoundsX(Inspect, Index Défaut/Écart, Défaut/Écart, Index Paire de bords) | Renvoie l’abscisse du rectangle englobant du défaut.
Y | GetDefectGapBoundsY(Inspect, Index Défaut/Écart, Défaut/Écart, Index Paire de bords) | Renvoie l’ordonnée du rectangle englobant du défaut.
Hauteur | GetDefectGapBoundsHeight(Inspect, Index Défaut/Écart, Défaut/Écart, Index Paire de bords) | Renvoie la hauteur du rectangle englobant du défaut.
Largeur | GetDefectGapBoundsWidth(Inspect, Index Défaut/Écart, Défaut/Écart, Index Paire de bords) | Renvoie la largeur du rectangle englobant du défaut.
Angle | GetDefectGapBoundsAngle(Inspect, Index Défaut/Écart, Défaut/Écart, Index Paire de bords) | Renvoie l’angle du rectangle englobant du défaut.
Courbure | GetDefectGapBoundsCurve(Inspect, Index Défaut/Écart, Défaut/Écart, Index Paire de bords) | Renvoie la courbure du rectangle englobant du défaut.
Début/Fin | GetDefectGapCaliperIndex(Inspect, Index Défaut/Écart, Défaut/Écart, Index Paire de bords, Début/Fin Défaut) | Renvoie le caliper dans lequel le défaut commence ou se termine (Début = 0, Fin = 1).
Extrêmes – Point le plus éloigné 1/2
Caliper | GetExtremePoints(Inspect, Index Paire de bords, Proche/Loin) | Renvoie l’index de caliper dont le bord est le plus éloigné de l’ajustement de la ligne (Proche = 0 et Loin = 1).
X | GetEdgeX(Inspect, Index de caliper, Index Paire de bords ou Index de bord) | Renvoie l’abscisse du bord référencé.
Y | GetEdgeY(Inspect, Index de caliper, Index Paire de bords ou Index de bord) | Renvoie l’ordonnée du bord référencé.
Distance | GetEdgeFromFit(Inspect, Index de caliper, Index Paire de bords) | Renvoie la distance entre le bord du caliper référencé et l’ajustement de la ligne.
Toutes les formules de la fonction InspectEdgeForDefect sont conformes à ce qui suit : Remarque : Inspect = Une structure de données Inspect, générée par une fonction InspectEdgeForDefect Index de caliper = 0 à N (le nombre total de calipers est égal au nombre de calipers émis par la fonction InspectEdge, référencée par InspectEdgeForDefect) Index de la paire de bords = 0 ou 1 Index des bords = 0 à N Index des points = 0 à 1 Si le paramètre Inspecter les paires de bords est activé, des lignes supplémentaires de données pour Bord 1 seront automatiquement insérées dans la feuille de calcul. Lorsqu’il est activé, un Index « 0 » renvoie des informations concernant Bord « 0 », et un Index « 1 » renvoie des informations concernant Bord « 1 ».