edges_object_model_3dT_edges_object_model_3dEdgesObjectModel3dEdgesObjectModel3dedges_object_model_3d (Operator)
Name
edges_object_model_3dT_edges_object_model_3dEdgesObjectModel3dEdgesObjectModel3dedges_object_model_3d
— Finden von Kanten in einem 3D-Objektmodell.
Signatur
void EdgesObjectModel3d(const HTuple& ObjectModel3D, const HTuple& MinAmplitude, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectModel3DEdges)
HObjectModel3D HObjectModel3D::EdgesObjectModel3d(const HTuple& MinAmplitude, const HTuple& GenParamName, const HTuple& GenParamValue) const
HObjectModel3D HObjectModel3D::EdgesObjectModel3d(double MinAmplitude, const HString& GenParamName, double GenParamValue) const
HObjectModel3D HObjectModel3D::EdgesObjectModel3d(double MinAmplitude, const char* GenParamName, double GenParamValue) const
HObjectModel3D HObjectModel3D::EdgesObjectModel3d(double MinAmplitude, const wchar_t* GenParamName, double GenParamValue) const
(Nur Windows)
Beschreibung
edges_object_model_3dedges_object_model_3dEdgesObjectModel3dEdgesObjectModel3dEdgesObjectModel3dedges_object_model_3d
findet 3D-Kanten im 3D-Objektmodell
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d
und gibt diese im 3D-Objektmodell
ObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesobjectModel3DEdgesobject_model_3dedges
zurück.
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d
muss ein XYZ-Mapping enthalten.
Das Mapping wird beispielsweise bei der Erzeugung eines 3D-Objektmodells
mittels xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3dxyz_to_object_model_3d
erstellt oder von einigen
Sensoren mit zurückgeliefert.
Der Parameter MinAmplitudeMinAmplitudeMinAmplitudeMinAmplitudeminAmplitudemin_amplitude
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
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d
verwendet wird.
Die extrahierten Kantenpunkte sind eine Untermenge der Punkte des
Eingabeobjektmodells.
Zusätzlich zu den Koordinaten der Kanten enthält ObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesobjectModel3DEdgesobject_model_3dedges
in den Normalenvektoren die Blickrichtung vom Sensorursprung zu den
Kantenpunkten.
Die Attribute 'edge_dir_x'"edge_dir_x""edge_dir_x""edge_dir_x""edge_dir_x""edge_dir_x", 'edge_dir_y'"edge_dir_y""edge_dir_y""edge_dir_y""edge_dir_y""edge_dir_y" und
'edge_dir_z'"edge_dir_z""edge_dir_z""edge_dir_z""edge_dir_z""edge_dir_z" enthalten für jeden Kantenpunkt einen normalisierten
Vektor, welcher senkrecht auf Blickrichtung und Kantenrichtung steht.
Die Attribute sind derart gesetzt, dass ObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesobjectModel3DEdgesobject_model_3dedges
für die 3D-Kanten in find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModelfind_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
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name
und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value
übergeben werden.
Die folgenden Werte für GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name
sind möglich:
- 'max_gap'"max_gap""max_gap""max_gap""max_gap""max_gap":
-
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.
Standardwert: 30.
- 'estimate_viewpose'"estimate_viewpose""estimate_viewpose""estimate_viewpose""estimate_viewpose""estimate_viewpose":
-
Dieser Parameter kann benutzt werden, um die automatische
Berechnung der Blickrichtung auszuschalten und einen
manuellen Blickpunkt zu setzen.
Standardwert: 'true'"true""true""true""true""true".
- 'viewpoint'"viewpoint""viewpoint""viewpoint""viewpoint""viewpoint":
-
Dieser Parameter wirkt sich nur dann aus, wenn
'estimate_viewpose'"estimate_viewpose""estimate_viewpose""estimate_viewpose""estimate_viewpose""estimate_viewpose" auf 'false'"false""false""false""false""false" gesetzt wird.
Er gibt die 3D-Position des Blickpunktes an, von
dem aus die 3D-Punkte in ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d
gesehen werden.
Der Blickpunkt wird verwendet, um die Blickrichtungen und die
Kantenrichtungen zu berechnen und liegt standardmäßig
im Ursprung '0 0 0'"0 0 0""0 0 0""0 0 0""0 0 0""0 0 0".
Falls der Blickpunkt nicht im Ursprung liegt, etwa weil das
3D-Objektmodell mittels rigid_trans_object_model_3drigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3dRigidTransObjectModel3drigid_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 GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value
ein String mit den drei
Koordinaten (x, y und z) des Blickpunktes, getrennt durch
Leerzeichen, übergeben.
Der Blickpunkt wird im gleichen Koordinatensystem wie
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d
definiert.
Zur Benutzung dieses Parameters müssen die Werte der X-, Y-, und Z-
Bilder aus object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzObjectModel3dToXyzobject_model_3d_to_xyz
jeweils steigende Werte
von links nach rechts, oben nach unten, und näher nach weiter entfernt
von der Kamera haben.
Standardwert: '0 0 0'"0 0 0""0 0 0""0 0 0""0 0 0""0 0 0".
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf interner Datenebene.
Dieser Operator unterstützt Cancel-Timeouts und Interrupts.
Parameter
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d
(input_control) object_model_3d →
HObjectModel3D, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des 3D-Objektmodells, dessen Kanten
berechnet werden sollen.
MinAmplitudeMinAmplitudeMinAmplitudeMinAmplitudeminAmplitudemin_amplitude
(input_control) number →
HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Kantenschwellenwert.
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name
(input_control) string(-array) →
HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Namen der generischen Parameter.
Defaultwert: []
Werteliste: 'estimate_viewpose'"estimate_viewpose""estimate_viewpose""estimate_viewpose""estimate_viewpose""estimate_viewpose", 'max_gap'"max_gap""max_gap""max_gap""max_gap""max_gap", 'viewpoint'"viewpoint""viewpoint""viewpoint""viewpoint""viewpoint"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value
(input_control) number(-array) →
HTupleMaybeSequence[Union[int, str, float]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Werte der generischen Parameter.
Defaultwert: []
Wertevorschläge: '0 0 0'"0 0 0""0 0 0""0 0 0""0 0 0""0 0 0", 10, 30, 100, 'true'"true""true""true""true""true", 'false'"false""false""false""false""false"
ObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesobjectModel3DEdgesobject_model_3dedges
(output_control) object_model_3d →
HObjectModel3D, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
3D-Objektmodell, welches die berechneten Kanten
enthält.
Ergebnis
edges_object_model_3dedges_object_model_3dEdgesObjectModel3dEdgesObjectModel3dEdgesObjectModel3dedges_object_model_3d
liefert den Wert TRUE wenn alle
Parameter korrekt sind.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3dread_object_model_3d
,
xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3dxyz_to_object_model_3d
Nachfolger
find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModelfind_surface_model
,
find_surface_model_imagefind_surface_model_imageFindSurfaceModelImageFindSurfaceModelImageFindSurfaceModelImagefind_surface_model_image
,
refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPoserefine_surface_model_pose
,
refine_surface_model_pose_imagerefine_surface_model_pose_imageRefineSurfaceModelPoseImageRefineSurfaceModelPoseImageRefineSurfaceModelPoseImagerefine_surface_model_pose_image
Modul
3D Metrology