| Operatoren |
modify_component_relations — Verändert die Relationen innerhalb eines Trainingsergebnisses.
modify_component_relations( : : ComponentTrainingID, ReferenceComponent, ToleranceComponent, PositionTolerance, AngleTolerance : )
modify_component_relations verändert die Relationen zwischen den Modelkomponenten innerhalb des Trainingsergebnisses ComponentTrainingID. Die Auswahl der zu ändernden Relation(en) erfolgt mit ReferenceComponent und ToleranceComponent, d.h. die Bewegung der Komponente ToleranceComponent relativ zur Komponente ReferenceComponent wird verändert. Diese beiden Parameter beschreiben den Index der entsprechenden Komponenten und müssen somit im Bereich von 0 bis n-1 liegen, wenn n die Anzahl der Komponenten darstellt.
Das Maß der Veränderung wird durch die Angabe von Toleranzwerten festgelegt. Durch die Angabe einer Positionstoleranz PositionTolerance wird erreicht, dass die Halbachsen des Rechtecks, das die Referenzpunktbewegung beschreibt (siehe train_model_components), um PositionTolerance Pixel vergrößert werden. Dementsprechend wird durch die Angabe einer Winkeltoleranz AngleTolerance erreicht, dass der Winkelbereich, der die Variation der relativen Orientierung beschreibt (siehe train_model_components), um AngleTolerance in beide Richtungen vergrößert wird. Negative Toleranzwerte führen konsequenter Weise zur Verkleinerung der jeweiligen Relationen. Die Verwendung von modify_component_relations ist insbesondere dann sinnvoll, wenn davon ausgegangen werden muss, dass die während des Trainierens verwendeten Trainingsbildern nicht das gesamte Spektrum der relativen Bewegungen abdecken.
Für die Auswahl der zu ändernden Relationen mit Hilfe von ReferenceComponent und ToleranceComponent sind folgende Möglichkeiten vorgesehen. Für jeden der beiden Parameter können jeweils entweder ein Wert, mehrere Werte, oder 'all' übergeben werden. Folgende Tabelle veranschaulicht die verschiedenen Möglichkeiten durch Angabe der betroffenen Relation(en) für verschiedene Kombinationen von Parameterwerten. Dabei wird von vier Modellkomponenten (0, 1, 2 und 3) ausgegangen. Werden zum Beispiel ReferenceComponent auf 0 und ToleranceComponent auf 1 gesetzt, dann wird die Relation (0,1), die die Bewegung der Komponente 1 relativ zur Komponente 0 beschreibt, verändert.
| ReferenceComponent | ToleranceComponent | Betroffene Relation(en) |
|---|---|---|
| 'all' | 'all' | (0,1) (0,2) (0,3) |
| (1,0) (1,2) (1,3) | ||
| (2,0) (2,1) (2,3) | ||
| (3,0) (3,1) (3,2) | ||
| 'all' | [1,2] | (0,1) (0,2) |
| (1,2) | ||
| (2,1) | ||
| (3,1) (3,2) | ||
| [0,1] | 'all' | (0,1) (0,2) (0,3) |
| (1,0) (1,2) (1,3) | ||
| 0 | 1 | (0,1) |
| 0 | [1,2] | (0,1) (0,2) |
| [0,1] | 2 | (0,2) (1,2) |
| [0,1,2] | [1,2,3] | (0,1) (1,2) (2,3) |
Die Anzahl an übergebenen Toleranzwerten in PositionTolerance und AngleTolerance muss gleich 1 sein oder mit der Anzahl an betroffenen Relationen übereinstimmen. Im ersten Fall werden alle betroffenen Relationen um den gleichen Wert verändert, wohingegen im zweiten Fall jede Relation individuell durch einen eigenen Wert verändert werden kann.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.Handle des Trainingsergebnisses.
Modellkomponente(n) relativ zu der die Bewegung(en) verändert werden soll(en).
Defaultwert: 'all'
Wertevorschläge: 'all', 0, 1, 2, 3, 4, 5, 6
Modellkomponente(n), deren relative Bewegung(en) verändert werden soll(en).
Defaultwert: 'all'
Wertevorschläge: 'all', 0, 1, 2, 3, 4, 5, 6
Veränderung der Positionsrelation in Pixel.
Wertevorschläge: 1.0, 2.0, 3.0, 4.0, 5.0, 10.0, 20.0, 30.0
Veränderung der Winkelrelation im Bogenmaß.
Wertevorschläge: 0.017, 0.035, 0.052, 0.070, 0.087, 0.175, 0.349
Ist der Handle des Trainingsergebnisses gültig, dann liefert modify_component_relations den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
create_trained_component_model
Matching
| Operatoren |