edges_object_model_3dT_edges_object_model_3dEdgesObjectModel3dEdgesObjectModel3d (Operator)

Name

edges_object_model_3dT_edges_object_model_3dEdgesObjectModel3dEdgesObjectModel3d — Finden von Kanten in einem 3D-Objektmodell.

Signatur

edges_object_model_3d( : : ObjectModel3D, MinAmplitude, GenParamName, GenParamValue : ObjectModel3DEdges)

Herror T_edges_object_model_3d(const Htuple ObjectModel3D, const Htuple MinAmplitude, const Htuple GenParamName, const Htuple GenParamValue, Htuple* ObjectModel3DEdges)

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)

static void HOperatorSet.EdgesObjectModel3d(HTuple objectModel3D, HTuple minAmplitude, HTuple genParamName, HTuple genParamValue, out HTuple objectModel3DEdges)

HObjectModel3D HObjectModel3D.EdgesObjectModel3d(HTuple minAmplitude, HTuple genParamName, HTuple genParamValue)

HObjectModel3D HObjectModel3D.EdgesObjectModel3d(double minAmplitude, string genParamName, double genParamValue)

Beschreibung

edges_object_model_3dedges_object_model_3dEdgesObjectModel3dEdgesObjectModel3dEdgesObjectModel3d findet 3D-Kanten im 3D-Objektmodell ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D und gibt diese im 3D-Objektmodell ObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesobjectModel3DEdges zurück.

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D muss ein XYZ-Mapping enthalten. Das Mapping wird beispielsweise bei der Erzeugung eines 3D-Objektmodells mittels xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d erstellt oder von einigen Sensoren mit zurückgeliefert. Der Parameter MinAmplitudeMinAmplitudeMinAmplitudeMinAmplitudeminAmplitude gibt die minimale Kantenamplitude an, d.h. die Mindestgröße des Sprungs an einer 3D-Kante. Der Schwellwert wird in der gleichen Einheit gesetzt, die in ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D verwendet wird.

Die extrahierten Kantenpunkte sind eine Untermenge der Punkte des Eingabeobjektmodells. Zusätzlich zu den Koordinaten der Kanten enthält ObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesobjectModel3DEdges 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_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" enthalten für jeden Kantenpunkt einen normalisierten Vektor, welcher senkrecht auf Blickrichtung und Kantenrichtung steht. Die Attribute sind derart gesetzt, dass ObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesobjectModel3DEdges für die 3D-Kanten in find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel 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 GenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue übergeben werden. Die folgenden Werte für GenParamNameGenParamNameGenParamNameGenParamNamegenParamName sind möglich:

'viewpoint'"viewpoint""viewpoint""viewpoint""viewpoint":

Dieser Parameter gibt die 3D-Position des Blickpunktes an, von dem aus die 3D-Punkte in ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D 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'"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_3dRigidTransObjectModel3dRigidTransObjectModel3dRigidTransObjectModel3d transformiert wurde oder falls der 3D-Sensor eine ähnliche Transformation durchgeführt hat, muss der ursprüngliche Blickpunkt gesetzt werden. Dazu wird in GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue ein String mit den drei Koordinaten (x, y und z) des Blickpunktes, getrennt durch Leerzeichen, übergeben. Der Blickpunkt wird im gleichen Koordinatensystem wie ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D definiert.

Standardwert: '0 0 0'"0 0 0""0 0 0""0 0 0""0 0 0"

'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 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

Ausführungsinformationen

Dieser Operator unterstützt Cancel-Timeouts und Interrupts.

Parameter

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d HObjectModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des 3D-Objektmodells, dessen Kanten berechnet werden sollen.

MinAmplitudeMinAmplitudeMinAmplitudeMinAmplitudeminAmplitude (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Kantenschwellwert.

GenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Namen der generischen Parameter.

Defaultwert: []

Werteliste: 'max_gap'"max_gap""max_gap""max_gap""max_gap", 'viewpoint'"viewpoint""viewpoint""viewpoint""viewpoint"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  number(-array) HTupleHTupleHtuple (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", 10, 30, 100

ObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesobjectModel3DEdges (output_control)  object_model_3d HObjectModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

3D-Objektmodell, welches die berechneten Kanten enthält.

Ergebnis

edges_object_model_3dedges_object_model_3dEdgesObjectModel3dEdgesObjectModel3dEdgesObjectModel3d liefert den Wert 2 (H_MSG_TRUE) wenn alle Parameter korrekt sind. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d

Nachfolger

find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel, find_surface_model_imagefind_surface_model_imageFindSurfaceModelImageFindSurfaceModelImageFindSurfaceModelImage, refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPose, refine_surface_model_pose_imagerefine_surface_model_pose_imageRefineSurfaceModelPoseImageRefineSurfaceModelPoseImageRefineSurfaceModelPoseImage

Modul

3D Metrology