Dieses Kapitel beschreibt Operatoren für die 1D-Vermessung.
Mit der 1D-Vermessung können Kanten, d.h., Übergänge von hell nach dunkel oder von dunkel nach hell entlang einer definierten Linie oder eines Kreisbogens gefunden werden. Dies erlaubt die einfache und schnelle Vermessung der Ausmaße von Teilen mit hoher Genauigkeit. Sollen die Ausmaße von geometrischen Primitiven wie Kreise, Ellipsen, Rechtecke oder Linien, für deren Positionen, Ausrichtungen und geometrische Formen Näherungswerte vorhanden sind, vermessen werden, kann 2D-Messtechnik eine sinnvolle Alternative darstellen.
(1) | (2) |
Im Folgenden werden die einzelnen Schritte, die zur Benutzung der 1D-Vermessung benötigt werden, kurz beschrieben.
Zuerst muss ein Messobjekt generiert werden, welches die Region für die Vermessung beschreibt. Soll entlang einer Linie gemessen werden, ist die Region ein Rechteck. Soll entlang eines Kreisbogens gemessen werden, ist die Region ein Kreisringsegment. Die Generierung des Messobjekts erfogt über einen der Operatoren
Für eine automatische Ausrichtung des Messobjekts kann formbasiertes Matching (siehe Kapitel Matching / Formbasiert) hilfreich sein.
Für die eigentliche Vermessung wird dann typischerweise einer der folgenden Operatoren verwendet:
findet geradlinige Kanten, die senkrecht zur
Hauptachse des Messobjekts liegen und liefert die Positionen der
Kantenmittelpunkte, die Kantenamplituden und die Distanzen zwischen
aufeinanderfolgenden Kanten zurück.
measure_pos
findet geradlinige Kanten, die senkrecht zur
Hauptachse des Messobjekts liegen und liefert die Positionen der
Kantenmittelpunkte von Kantenpaaren, die Kantenamplituden von Kantenpaaren,
die Distanzen zwischen den Kanten der Kantenpaare und die Distanzen zwischen
aufeinanderfolgenden Kantenpaaren zurück.
measure_pairs
findet Punkte mit einem bestimmten Grauwert
entlang der Hauptachse des Messobjekts und liefert ihre Positionen und die
Distanzen zwischen aufeinanderfolgenden Punkten zurück.
measure_thresh
Alternativ, wenn zusätzliche Kanten vorhanden sind, die nicht zur Messung
gehören, kann auch eine Fuzzy-Vermessung erfolgen. Hier müssen sogenannte
Fuzzy-Funktionen definiert werden, die die Merkmale guter Kanten
beschreiben. Mögliche Merkmale sind z.B. die Positionen, die Distanzen, die
Grauwerte oder die Amplituden der Kanten. Die Funktionen werden mit
erstellt und an das Messtool mit
create_funct_1d_pairs
oder set_fuzzy_measure
übergeben.
Basierend auf diesen Funtionen kann dan einer der folgenden Operatoren die am
besten geeigneten Kanten auswählen:
set_fuzzy_measure_norm_pair
findet geradlinige Kanten, die senkrecht zur
Hauptachse des Messobjekts liegen und liefert die Positionen der
Kantenmittelpunkte, die Kantenamplituden, die Fuzzy-Bewertungen und die
Distanzen zwischen aufeinanderfolgenden Kanten zurück.
fuzzy_measure_pos
findet geradlinige Kanten, die senkrecht
zur Hauptachse des Messobjekts liegen und liefert die Positionen der Kanten
von Kantenpaaren, die Kantenamplituden von Kantenpaaren, die Positionen der
Mittelpunkte der Kantenpaare, die Fuzzy-Bewertungen, die Distanzen zwischen
den Kanten der Kantenpaare und die Distanzen zwischen aufeinanderfolgenden
Kantenpaaren zurück.
fuzzy_measure_pairs
ist wie fuzzy_measure_pairing
mit
der Ausnahme, dass es über den Parameter Pairing zusätzlich möglich ist, sich
überschneidende und ineinanderliegende Kantenpaare zu extrahieren.
fuzzy_measure_pairs
Alternativ zur automatischen Extraktion von Kanten oder Punkten innerhalb des Messobjekts kann auch das eindimensionale Grauwertprofil senkrecht zur Hauptachse des Messobjekts extrahiert werden und daraus individuell die benötigte Information abgeleitet werden. Das Extrahieren des Grauwertprofils erfolgt mit dem Operator
Wird das Messobjekt nicht mehr gebraucht, erfolgt die Freigabe seines Handles mit
Zusätzlich zu den oben genannten Operatoren kann mit
eine Fuzzy-Funktion, die mit
reset_fuzzy_measure
oder set_fuzzy_measure
vorher
gesetzt wurde, gelöscht werden, mit set_fuzzy_measure_norm_pair
der
Referenzpunkt des Messobjekts an eine festgelegte Position verschoben werden,
mit translate_measure
und write_measure
das Messobjekt in eine
Datei geschrieben und daraus wieder ausgelesen werden, und mit
read_measure
und serialize_measure
kann das Messobjekt
serialisiert bzw. deserialisiert werden.
deserialize_measure
Im Folgenden werden die wichtigsten Begriffe, die im Umfeld der 1D-Vermessung verwendet werden, beschrieben:
Datenstruktur für eine rechteckige oder kreisringförmige Region, die für die Extraktion geradliniger Kanten senkrecht zu ihrer Hauptachse vorbereitet ist.
Ein Kreisbogen mit zugehöriger Dicke.
Weitere Details zur 1D-Vermessung finden sich im finden sich im
„Solution Guide Basics“
und
„Solution Guide on 1D Measuring“
.
close_measure
deserialize_measure
fuzzy_measure_pairing
fuzzy_measure_pairs
fuzzy_measure_pos
gen_measure_arc
gen_measure_rectangle2
measure_pairs
measure_pos
measure_projection
measure_thresh
read_measure
reset_fuzzy_measure
serialize_measure
set_fuzzy_measure
set_fuzzy_measure_norm_pair
translate_measure
write_measure