Operatoren |
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 Schwellwert wird in der gleichen Einheit angegeben 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 3D-Position des Blickpunktes an, von dem aus die 3D-Punkte in ObjectModel3D gesehen werden. Üblicherweise ist dies der Ursprung des 3D-Sensors. 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.
Standardwert: '0 0 0'
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 Durchmeser 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 value: 30
Handle des 3D-Objektmodells, dessen Kanten berechnet werden sollen.
Kantenschwellwert.
Namen der generischen Parameter.
Defaultwert: []
Werteliste: 'max_gap' , 'viewpoint'
Werte der generischen Parameter.
Defaultwert: []
Wertevorschläge: '0 0 0' , 10, 30, 100
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
Operatoren |