edges_object_model_3d — Finden von Kanten in einem 3D-Objektmodell.
edges_object_model_3d( : : ObjectModel3D, MinAmplitude, GenParamName, GenParamValue : ObjectModel3DEdges)
edges_object_model_3d findet 3D-Kanten im 3D-Objektmodell
ObjectModel3D und gibt diese im 3D-Objektmodell
ObjectModel3DEdges zurück.
ObjectModel3D muss ein XYZ-Mapping enthalten.
Das Mapping wird beispielsweise bei der Erzeugung eines 3D-Objektmodells
mittels xyz_to_object_model_3d erstellt oder von einigen
Sensoren mit zurückgeliefert.
Der Parameter MinAmplitude gibt die minimale Kantenamplitude an,
d.h. die Mindestgröße des Sprungs an einer 3D-Kante.
Der Schwellenwert wird in der gleichen Einheit gesetzt, die in
ObjectModel3D verwendet wird.
Die extrahierten Kantenpunkte sind eine Untermenge der Punkte des
Eingabeobjektmodells.
Zusätzlich zu den Koordinaten der Kanten enthält ObjectModel3DEdges
in den Normalenvektoren die Blickrichtung vom Sensorursprung zu den
Kantenpunkten.
Die Attribute 'edge_dir_x', 'edge_dir_y' und
'edge_dir_z' enthalten für jeden Kantenpunkt einen normalisierten
Vektor, welcher senkrecht auf Blickrichtung und Kantenrichtung steht.
Die Attribute sind derart gesetzt, dass ObjectModel3DEdges
für die 3D-Kanten in find_surface_model verwendet werden kann.
Optional können generische Parameter angegeben werden um die Kantenextraktion
zu beeinflussen.
Falls erwünscht, können die generischen Parameter und deren Werte in
GenParamName und GenParamValue übergeben werden.
Die folgenden Werte für GenParamName sind möglich:
Dieser Parameter gibt die maximale Größe einer Lücke in Pixeln in den XYZ-Bildern an, damit die Lücke geschlossen wird. Für Lücken die einen größeren Durchmesser haben als dieser Wert werden 3D-Kanten an den Rändern der Lücke erzeugt, bei Lücken mit einem kleineren Durchmesser entsprechend nicht. Dadurch können beispielsweise Kanten unterdrückt werden, die durch kleinere Lücken in den 3D-Daten entstehen die der Sensor nicht rekonstruieren konnte, sowie Kanten an der weiter hinten liegenden Fläche eines Sprungs in den Tiefendaten. Dieser Wert sollte beispielsweise für besonders hochauflösende Sensoren erhöht werden.
Default: 30.
Dieser Parameter kann benutzt werden, um die automatische Berechnung der Blickrichtung auszuschalten und einen manuellen Blickpunkt zu setzen.
Default: 'true'.
Dieser Parameter wirkt sich nur dann aus, wenn
'estimate_viewpose' auf 'false' gesetzt wird.
Er gibt die 3D-Position des Blickpunktes an, von
dem aus die 3D-Punkte in ObjectModel3D gesehen werden.
Der Blickpunkt wird verwendet, um die Blickrichtungen und die
Kantenrichtungen zu berechnen und liegt standardmäßig
im Ursprung '0 0 0'.
Falls der Blickpunkt nicht im Ursprung liegt, etwa weil das
3D-Objektmodell mittels rigid_trans_object_model_3d
transformiert wurde oder falls der 3D-Sensor eine ähnliche
Transformation durchgeführt hat, muss der ursprüngliche
Blickpunkt gesetzt werden.
Dazu wird in GenParamValue ein String mit den drei
Koordinaten (x, y und z) des Blickpunktes, getrennt durch
Leerzeichen, übergeben.
Der Blickpunkt wird im gleichen Koordinatensystem wie
ObjectModel3D definiert.
Zur Benutzung dieses Parameters müssen die Werte der X-, Y-, und Z-
Bilder aus object_model_3d_to_xyz jeweils steigende Werte
von links nach rechts, oben nach unten, und näher nach weiter entfernt
von der Kamera haben.
Default: '0 0 0'.
Dieser Operator unterstützt Cancel-Timeouts und Interrupts.
ObjectModel3D (input_control) object_model_3d → (handle)
Handle des 3D-Objektmodells, dessen Kanten berechnet werden sollen.
MinAmplitude (input_control) number → (real / integer)
Kantenschwellenwert.
GenParamName (input_control) string(-array) → (string)
Namen der generischen Parameter.
Default: []
Werteliste: 'estimate_viewpose', 'max_gap', 'viewpoint'
GenParamValue (input_control) number(-array) → (real / integer / string)
Werte der generischen Parameter.
Default: []
Wertevorschläge: '0 0 0', 10, 30, 100, 'true', 'false'
ObjectModel3DEdges (output_control) object_model_3d → (handle)
3D-Objektmodell, welches die berechneten Kanten enthält.
edges_object_model_3d liefert den Wert 2 (
H_MSG_TRUE)
wenn alle
Parameter korrekt sind.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
read_object_model_3d,
xyz_to_object_model_3d
find_surface_model,
find_surface_model_image,
refine_surface_model_pose,
refine_surface_model_pose_image
3D Metrology