2D-Messtechnik
Liste der Operatoren ↓
Dieses Kapitel beschreibt Operatoren für die 2D-Messtechnik.
Konzept der 2D-Messtechnik
Mit 2D-Messtechnik können Objekte einer bestimmten geometrischen Form
vermessen werden. Die dafür verfügbaren geometrischen Formen umfassen Kreise,
Ellipsen, Rechtecke und Linien. Es müssen genäherte Werte für die Positionen,
Orientierungen und geometrischen Formen der zu vermessenden Objekte vorhanden
sein. Dann werden in der Nähe der Umrandungen der genäherten Objekte im Bild
die tatsächlichen Kanten der Objekte lokalisiert. Die Parameter der
geometrischen Formen werden dann so angepasst, dass sie optimal zu den
Bilddaten passen. Die Ergebnisse der Messungen sind die optimierten
Parameter.
Die genäherten Werte für die Formparameter eines Objekts sowie Parameter zur
Steuerung der Messung werden in einer Datenstruktur gespeichert, die als
Metrology-Messobjekt bezeichnet wird. Die Kanten des Objekts im Bild werden in den
sogenannten Messregionen gesucht. Diese sind rechteckige Regionen, deren
Hauptachsen senkrecht zum Rand der genäherten Objekte liegen. Parameter, die
die Größe und Verteilung der Messregionen beeinflussen, werden zusammen mit
den genäherten Formparametern für jedes Objekt festgelegt. Bei der Messung
wird die Anpassung der geometrischen Form an die gefundenen Kantenpositionen
mittels eines RANSAC-Algorithmus vorgenommen. Alle Messobjekte, alle
weiteren für die Messung notwendigen Informationen und die Ergebnisse der
Messungen werden im sogenannten Messmodel gespeichert.
Im Folgenden werden die einzelnen Schritte, die zur Benutzung der
2D-Messtechnik benötigt werden, kurz beschrieben.
- Erstellen der Datenstruktur des Messmodells:
-
Als erstes muss das Messmodell
erstellt werden. Dies geschieht mit dem Operator
Das Messmodell dient als Container für ein oder mehrere
Metrology-Messobjekte. Für eine effiziente Messung sollte dann die Größe
des Bildes, auf dem die Messungen durchgeführt werden, festgelegt werden.
Dies erfolgt mit dem Operator
- Bereitstellen der genäherten Werte:
-
Anschließend werden die Metrology-Messobjekte zum Messmodell
hinzugefügt. Jedes Metrology-Messobjekt besteht aus genäherten Parametern
für die Form des zugehörigen Objekts im Bild und aus Parametern, die die
Messungen steuern. Die Parameter, die die Messungen steuern enthalten
z.B. Parameter, die die Dimensionen und die Verteilung der Messregionen
festlegen. Desweiteren können verschiedene generische Parameter für jedes
Metrology-Messobjekt festgelegt werden. Die Metrology-Messobjekte werden
mit den folgenden Operatoren definiert:
Um die definierten Metrology-Messobjekte visuell zu prüfen, können die
XLD-Konturen ihrer Umrandungen mit dem Operator
get_metrology_object_model_contourget_metrology_object_model_contourGetMetrologyObjectModelContourget_metrology_object_model_contourGetMetrologyObjectModelContourGetMetrologyObjectModelContour abgerufen werden. Um die
Messregionen visuell zu überprüfen, kann auf die XLD-Konturen ihrer
Umrandungen mit dem Operator get_metrology_object_measuresget_metrology_object_measuresGetMetrologyObjectMeasuresget_metrology_object_measuresGetMetrologyObjectMeasuresGetMetrologyObjectMeasures
zugegriffen werden.
- Ändern der Modellparameter:
-
Wenn eine Kamerakalibrierung ausgeführt wurde, werden die Kameraparameter
und die Pose des Weltkoordinatensystems zum Messmodel hinzugefügt. Dies erfolgt über
den Operator
In diesem Fall werden die Ergebnisse der Messungen, die mit
get_metrology_object_resultget_metrology_object_resultGetMetrologyObjectResultget_metrology_object_resultGetMetrologyObjectResultGetMetrologyObjectResult abgerufen werden, im
Weltkoordinatensystem zurückgegeben. Weiterhin kann das Referenzsystem,
in dem die Metrology-Messobjekte vorliegen, mit
set_metrology_model_paramset_metrology_model_paramSetMetrologyModelParamset_metrology_model_paramSetMetrologyModelParamSetMetrologyModelParam geändert werden.
- Ändern der Objektparameter:
-
Viele Parameter können beim Hinzufügen der Metrology-Messobjekte gesetzt
werden. Einige davon können anschließend noch mithilfe des Operators
geändert werden.
- Ausrichten des Messmodells (Alignment):
-
Der Operator
verschiebt und rotiert das Messmodell vor einer Messung, so dass es über
dem zu messenden Objekt im aktuellen Bild liegt. Diese Modellausrichtung
ist temporär und wird durch die nächste ersetzt. Die Parameter der
einzelnen Objekte werden nicht verändert. Typischerweise werden die für
die Modellausrichtung benötigten Parameter über formbasiertes Matching
ermittelt.
- Durchführen der Messungen:
-
Die eigentlichen Messungen im Bild erfolgen mit dem Operator
Dieser findet die Kanten innerhalb der Messregionen
und passt die festgelegten geometrischen Formen an die Kantenpositionen
unter Verwendung eines RANSAC-Algorithmus an. Die Kanten werden intern mit
den Operatoren measure_posmeasure_posMeasurePosmeasure_posMeasurePosMeasurePos oder fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePos (siehe
auch Kapitel 1D-Vermessung) ermittelt. Der letztere verwendet
Fuzzy-Funktionen und wird nur verwendet, wenn vor der Messung mindestens
eine Fuzzy-Funktion mithilfe von set_metrology_object_fuzzy_paramset_metrology_object_fuzzy_paramSetMetrologyObjectFuzzyParamset_metrology_object_fuzzy_paramSetMetrologyObjectFuzzyParamSetMetrologyObjectFuzzyParam
gesetzt wurde. Wenn mehr als eine Instanz der zurückgegebenen Objektform
benötigt wird (siehe Bild oben), muss der generische Parameter
'num_instances'"num_instances""num_instances""num_instances""num_instances""num_instances" auf die Anzahl benötigter Instanzen gesetzt
werden. Der Parameter kann beim Setzen der einzelnen
Metrology-Messobjekte oder später mit dem Operator
set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParam gesetzt werden.
- Zugriff auf die Ergebnisse:
-
Nach der Messung kann auf die Ergebnisse zugegriffen werden. Die
angepassten geometrischen Formen der Objekte werden mit dem Operator
abgefragt. Auf die Zeilen- und Spaltenkoordinaten der gefundenen Kanten
kann mit dem Operator
zugegriffen werden. Die Zeilen- und Spaltenkoordinaten der Kanten, die
tatsächlich für die Berechnung der Ergebnisse benutzt wurden, können
ebenfalls mit get_metrology_object_resultget_metrology_object_resultGetMetrologyObjectResultget_metrology_object_resultGetMetrologyObjectResultGetMetrologyObjectResult abgefragt werden. Eine
Visualisierung der gemessenen Formen als XLD Konturen erhält man mit
- Freigabe des Speichers:
-
Wird das Messmodell nicht mehr gebraucht, erfolgt die Freigabe seines
Handles mit
Weitere Operatoren
Zusätzlich zu den oben genannten Operatoren kann das Messmodell mit
copy_metrology_modelcopy_metrology_modelCopyMetrologyModelcopy_metrology_modelCopyMetrologyModelCopyMetrologyModel kopiert werden. Um ein Messmodell in eine Datei
zu schreiben ist der Operator write_metrology_modelwrite_metrology_modelWriteMetrologyModelwrite_metrology_modelWriteMetrologyModelWriteMetrologyModel zu verwenden.
Das Model kann unter Verwendung des Operators read_metrology_modelread_metrology_modelReadMetrologyModelread_metrology_modelReadMetrologyModelReadMetrologyModel
wieder eingelesen werden. Mit serialize_metrology_modelserialize_metrology_modelSerializeMetrologyModelserialize_metrology_modelSerializeMetrologyModelSerializeMetrologyModel bzw.
deserialize_metrology_modeldeserialize_metrology_modelDeserializeMetrologyModeldeserialize_metrology_modelDeserializeMetrologyModelDeserializeMetrologyModel kann das Messmodell serialisiert oder
deserialisiert werden.
Die im Messmodell vorhandenen Informationen können auf verschiedene Arten
abgefragt werden. Zum Beispiel erhält man die Indizes der Metrology-Messobjekte
mit get_metrology_object_indicesget_metrology_object_indicesGetMetrologyObjectIndicesget_metrology_object_indicesGetMetrologyObjectIndicesGetMetrologyObjectIndices. Parameter, die für
das ganze Messmodell zutreffen, können mit get_metrology_model_paramget_metrology_model_paramGetMetrologyModelParamget_metrology_model_paramGetMetrologyModelParamGetMetrologyModelParam
abgefragt werden. Zum Abfragen der Fuzzy-Parameter des Messmodells (wenn vorhanden) steht
get_metrology_object_fuzzy_paramget_metrology_object_fuzzy_paramGetMetrologyObjectFuzzyParamget_metrology_object_fuzzy_paramGetMetrologyObjectFuzzyParamGetMetrologyObjectFuzzyParam zur Verfügung. Die Anzahl der
Instanzen der Metrology-Messobjekte eines Messmodells erhält man mit
get_metrology_object_num_instancesget_metrology_object_num_instancesGetMetrologyObjectNumInstancesget_metrology_object_num_instancesGetMetrologyObjectNumInstancesGetMetrologyObjectNumInstances. Und die aktuelle
Konfiguration des Messmodells kann mit get_metrology_object_paramget_metrology_object_paramGetMetrologyObjectParamget_metrology_object_paramGetMetrologyObjectParamGetMetrologyObjectParam
abgefragt werden.
Außerdem können alle Parameter eines Messmodells mit
reset_metrology_object_paramreset_metrology_object_paramResetMetrologyObjectParamreset_metrology_object_paramResetMetrologyObjectParamResetMetrologyObjectParam zurückgesetzt werden. Sollen nur eventuell
vorhandene Fuzzy-Parameter und Fuzzy-Funktionen zurückgesetzt werden, kann
reset_metrology_object_fuzzy_paramreset_metrology_object_fuzzy_paramResetMetrologyObjectFuzzyParamreset_metrology_object_fuzzy_paramResetMetrologyObjectFuzzyParamResetMetrologyObjectFuzzyParam benutzt werden.
Glossar
Im Folgenden werden die wichtigsten Begriffe, die im Umfeld der
2D-Messtechnik verwendet werden, beschrieben:
- Messmodell
-
Datenstruktur, die alle Metrology-Messobjekte, alle Informationen,
die für die Messung gebraucht werden, sowie die Messergebnisse
enthält.
- Metrology-Messobjekt
-
Datenstruktur für das Objekt, das mit 2D-Messtechnik vermessen
werden soll. Das Metrology Messobjekt ist durch eine bestimmte
geometrische Form repräsentiert für deren Formparameter
Näherungswerte bekannt sind. Außerdem enthält es Parameter zur
Steuerung der Messung, z.B. Parameter, die die Dimensionen und die
Verteilung der Messregionen bestimmen.
- Messregionen
-
Rechteckige Regionen, die senkrecht zum Rand der genäherten
Objekte angeordnet sind. Innerhalb dieser Regionen werden Kanten
extrahiert, die benutzt werden, um die exakten Formparameter der
Metrology-Messobjekte zu ermitteln.
- Zurückgegebene Instanz eines Metrology-Messobjekts
-
Für jedes Metrology-Messobjekt können unterschiedliche Instanzen
des Objekts durch die Messung zurückgegeben werden, z.B. wenn in
der Nähe der Umrandung der genäherten Form verschiedene parallele
Strukturen der gleichen Form vorhanden sind. Die Reihenfolge der
zurückgegebenen Instanzen ist zufällig, d.h. die Reihenfolge
stellt kein Maß für die Qualität der Anpassung dar.
Weiterführende Information
Weitere Details zur 2D-Messtechnik finden sich im „Solution Guide
on 2D Measuring“.
Liste der Operatoren
- add_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measure
- Hinzufügen eines Kreises oder Kreisbogens zu einem Messmodell.
- add_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure
- Hinzufügen einer Ellipse oder eines Ellipsenbogens zu einem Messmodell.
- add_metrology_object_genericAddMetrologyObjectGenericAddMetrologyObjectGenericadd_metrology_object_genericAddMetrologyObjectGenericadd_metrology_object_generic
- Hinzufügen eines Metrology-Messobjekts zu einem Messmodell.
- add_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure
- Hinzufügen einer Linie zu einem Messmodell.
- add_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measure
- Hinzufügen eines Rechtecks zu einem Messmodell.
- align_metrology_modelAlignMetrologyModelAlignMetrologyModelalign_metrology_modelAlignMetrologyModelalign_metrology_model
- Ausrichtung eines Messmodells.
- apply_metrology_modelApplyMetrologyModelApplyMetrologyModelapply_metrology_modelApplyMetrologyModelapply_metrology_model
- Messen und Anpassen der geometrischen Formen aller Metrology-Messobjekte
eines Messmodells.
- clear_metrology_modelClearMetrologyModelClearMetrologyModelclear_metrology_modelClearMetrologyModelclear_metrology_model
- Löschen eines Messmodells und Freigabe des verwendeten
Speichers.
- clear_metrology_objectClearMetrologyObjectClearMetrologyObjectclear_metrology_objectClearMetrologyObjectclear_metrology_object
- Löschen von Metrology-Messobjekten und Freigabe des verwendeten
Speichers.
- copy_metrology_modelCopyMetrologyModelCopyMetrologyModelcopy_metrology_modelCopyMetrologyModelcopy_metrology_model
- Kopieren eines Messmodells.
- create_metrology_modelCreateMetrologyModelCreateMetrologyModelcreate_metrology_modelCreateMetrologyModelcreate_metrology_model
- Anlegen der Datenstruktur, die für das Messen von geometrischen Formen
notwendig ist.
- deserialize_metrology_modelDeserializeMetrologyModelDeserializeMetrologyModeldeserialize_metrology_modelDeserializeMetrologyModeldeserialize_metrology_model
- Deserialisieren eines serialisierten Messmodells.
- get_metrology_model_paramGetMetrologyModelParamGetMetrologyModelParamget_metrology_model_paramGetMetrologyModelParamget_metrology_model_param
- Abfragen von Parametern, die für das gesamte Messmodell gelten.
- get_metrology_object_fuzzy_paramGetMetrologyObjectFuzzyParamGetMetrologyObjectFuzzyParamget_metrology_object_fuzzy_paramGetMetrologyObjectFuzzyParamget_metrology_object_fuzzy_param
- Abfragen von Fuzzy-Parametern des Messmodells.
- get_metrology_object_indicesGetMetrologyObjectIndicesGetMetrologyObjectIndicesget_metrology_object_indicesGetMetrologyObjectIndicesget_metrology_object_indices
- Abfragen der Indizes der Metrology-Messobjekte eines Messmodells.
- get_metrology_object_measuresGetMetrologyObjectMeasuresGetMetrologyObjectMeasuresget_metrology_object_measuresGetMetrologyObjectMeasuresget_metrology_object_measures
- Abfragen der Messregionen und der Ergebnisse der Kantenextraktion
für die Metrology-Messobjekte eines Messmodells.
- get_metrology_object_model_contourGetMetrologyObjectModelContourGetMetrologyObjectModelContourget_metrology_object_model_contourGetMetrologyObjectModelContourget_metrology_object_model_contour
- Abfragen der Modellkonturen in Bildkoordinaten.
- get_metrology_object_num_instancesGetMetrologyObjectNumInstancesGetMetrologyObjectNumInstancesget_metrology_object_num_instancesGetMetrologyObjectNumInstancesget_metrology_object_num_instances
- Abfragen der Anzahl der Instanzen der Metrology-Messobjekte eines
Messmodells.
- get_metrology_object_paramGetMetrologyObjectParamGetMetrologyObjectParamget_metrology_object_paramGetMetrologyObjectParamget_metrology_object_param
- Abfragen eines oder mehrerer Parameter des Messmodells.
- get_metrology_object_resultGetMetrologyObjectResultGetMetrologyObjectResultget_metrology_object_resultGetMetrologyObjectResultget_metrology_object_result
- Abfragen der Ergebnisse der Anpassung des Messmodells.
- get_metrology_object_result_contourGetMetrologyObjectResultContourGetMetrologyObjectResultContourget_metrology_object_result_contourGetMetrologyObjectResultContourget_metrology_object_result_contour
- Abfragen der Ergebniskonturen eines Metrology-Messobjektes.
- read_metrology_modelReadMetrologyModelReadMetrologyModelread_metrology_modelReadMetrologyModelread_metrology_model
- Einlesen eines Messmodells aus einer Datei.
- reset_metrology_object_fuzzy_paramResetMetrologyObjectFuzzyParamResetMetrologyObjectFuzzyParamreset_metrology_object_fuzzy_paramResetMetrologyObjectFuzzyParamreset_metrology_object_fuzzy_param
- Löschen aller Fuzzy-Parameter und Fuzzy-Funktionen eines Messmodells.
- reset_metrology_object_paramResetMetrologyObjectParamResetMetrologyObjectParamreset_metrology_object_paramResetMetrologyObjectParamreset_metrology_object_param
- Löschen aller Parameter eines Messmodells.
- serialize_metrology_modelSerializeMetrologyModelSerializeMetrologyModelserialize_metrology_modelSerializeMetrologyModelserialize_metrology_model
- Serialisieren eines Messmodells.
- set_metrology_model_image_sizeSetMetrologyModelImageSizeSetMetrologyModelImageSizeset_metrology_model_image_sizeSetMetrologyModelImageSizeset_metrology_model_image_size
- Setzen der Bildgröße für die Metrology-Messobjekte.
- set_metrology_model_paramSetMetrologyModelParamSetMetrologyModelParamset_metrology_model_paramSetMetrologyModelParamset_metrology_model_param
- Setzen von Parametern, die für das gesamte Messmodell gelten.
- set_metrology_object_fuzzy_paramSetMetrologyObjectFuzzyParamSetMetrologyObjectFuzzyParamset_metrology_object_fuzzy_paramSetMetrologyObjectFuzzyParamset_metrology_object_fuzzy_param
- Setzen der Fuzzy-Parameter oder Fuzzy-Funktionen eines Messmodells.
- set_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_paramSetMetrologyObjectParamset_metrology_object_param
- Setzen von Parametern für die Metrology-Messobjekte eines Messmodells.
- write_metrology_modelWriteMetrologyModelWriteMetrologyModelwrite_metrology_modelWriteMetrologyModelwrite_metrology_model
- Schreiben eines Messmodells in eine Datei.