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

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)

def edges_object_model_3d(object_model_3d: HHandle, min_amplitude: Union[float, int], gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[int, str, float]]) -> HHandle

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

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