create_distance_transform_xldT_create_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXld (Operator)

Name

create_distance_transform_xldT_create_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXld — Erzeugen einer XLD-Distanztransformation.

Signatur

create_distance_transform_xld(Contour : : Mode, MaxDistance : DistanceTransformID)

Herror T_create_distance_transform_xld(const Hobject Contour, const Htuple Mode, const Htuple MaxDistance, Htuple* DistanceTransformID)

void CreateDistanceTransformXld(const HObject& Contour, const HTuple& Mode, const HTuple& MaxDistance, HTuple* DistanceTransformID)

void HXLDDistTrans::HXLDDistTrans(const HXLDCont& Contour, const HString& Mode, const HTuple& MaxDistance)

void HXLDDistTrans::HXLDDistTrans(const HXLDCont& Contour, const HString& Mode, double MaxDistance)

void HXLDDistTrans::HXLDDistTrans(const HXLDCont& Contour, const char* Mode, double MaxDistance)

void HXLDDistTrans::HXLDDistTrans(const HXLDCont& Contour, const wchar_t* Mode, double MaxDistance)   (Nur Windows)

void HXLDDistTrans::CreateDistanceTransformXld(const HXLDCont& Contour, const HString& Mode, const HTuple& MaxDistance)

void HXLDDistTrans::CreateDistanceTransformXld(const HXLDCont& Contour, const HString& Mode, double MaxDistance)

void HXLDDistTrans::CreateDistanceTransformXld(const HXLDCont& Contour, const char* Mode, double MaxDistance)

void HXLDDistTrans::CreateDistanceTransformXld(const HXLDCont& Contour, const wchar_t* Mode, double MaxDistance)   (Nur Windows)

static void HOperatorSet.CreateDistanceTransformXld(HObject contour, HTuple mode, HTuple maxDistance, out HTuple distanceTransformID)

public HXLDDistTrans(HXLDCont contour, string mode, HTuple maxDistance)

public HXLDDistTrans(HXLDCont contour, string mode, double maxDistance)

void HXLDDistTrans.CreateDistanceTransformXld(HXLDCont contour, string mode, HTuple maxDistance)

void HXLDDistTrans.CreateDistanceTransformXld(HXLDCont contour, string mode, double maxDistance)

Beschreibung

create_distance_transform_xldcreate_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXldCreateDistanceTransformXld erzeugt die XLD-Distanztransformation der Referenzkontur ContourContourContourContourcontour und liefert das entstandene Handle in DistanceTransformIDDistanceTransformIDDistanceTransformIDDistanceTransformIDdistanceTransformID zurück.

Ist die XLD-Distanztransformation erzeugt, so berechnet der Operator apply_distance_transform_xldapply_distance_transform_xldApplyDistanceTransformXldApplyDistanceTransformXldApplyDistanceTransformXld punktweise Abstände von Testkonturen zur Referenzkontur ContourContourContourContourcontour. Genauer: Für jeden Punkt einer Testkontur wird sein minimaler Abstand zu den in ContourContourContourContourcontour übergebenen Konturen berechnet.

Der Parameter ModeModeModeModemode legt fest, welche Abstände in apply_distance_transform_xldapply_distance_transform_xldApplyDistanceTransformXldApplyDistanceTransformXldApplyDistanceTransformXld berechnet werden: 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point" berechnet den minimalen Abstand zu den Stützpunkten von ContourContourContourContourcontour. Dagegen berechnet 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment" den minimalen Abstand zu den Kontursegmenten von ContourContourContourContourcontour (siehe auch nachstehende Abbildung).

Die gestrichelten Linien stellen dar, welcher Abstand ausgehend von Punkt 1 der Testkontur links berechnet wird. Abstand entspricht dem Modus 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point", und Abstand dem Modus 'point_to_segment'. Der grau unterlegte Bereich stellt die Fläche innerhalb von MaxDistanceMaxDistanceMaxDistanceMaxDistancemaxDistance um die Referenzkontur dar, für die Abstandswerte berechnet werden. Der Abstand von Punkt 2 der Testkontur würde auf MaxDistanceMaxDistanceMaxDistanceMaxDistancemaxDistance gesetzt werden, da er außerhalb dieses Bereichs liegt.

Der Parameter MaxDistanceMaxDistanceMaxDistanceMaxDistancemaxDistance legt den maximalen Abstand von der Referenzkontur ContourContourContourContourcontour fest, der von Interesse ist. Falls der Abstand eines Punktes der Testkontur zur Referenzkontur MaxDistanceMaxDistanceMaxDistanceMaxDistancemaxDistance übersteigt, so wird der Ausgabe-Abstand von apply_distance_transform_xldapply_distance_transform_xldApplyDistanceTransformXldApplyDistanceTransformXldApplyDistanceTransformXld auf MaxDistanceMaxDistanceMaxDistanceMaxDistancemaxDistance gesetzt.

create_distance_transform_xldcreate_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXldCreateDistanceTransformXld und apply_distance_transform_xldapply_distance_transform_xldApplyDistanceTransformXldApplyDistanceTransformXldApplyDistanceTransformXld stellen eine Alternative zu distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXldDistanceContoursXld dar, falls die Referenzkontur wiederholt verwendet wird. create_distance_transform_xldcreate_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXldCreateDistanceTransformXld speichert für jeden Pixel in einer relevanten Fläche um ContourContourContourContourcontour seine nächsten Punkte oder Segmente (abhängig von ModeModeModeModemode) der Referenzkontur ContourContourContourContourcontour. Damit kann apply_distance_transform_xldapply_distance_transform_xldApplyDistanceTransformXldApplyDistanceTransformXldApplyDistanceTransformXld Abstände sehr schnell berechnen, fast unabhängig von der Anzahl Punkte oder Segmente der Referenzkontur, von ModeModeModeModemode und der Lage der Punkte der Testkontur. Allerdings kann das Erstellen der XLD-Distanztransformation einige Sekunden oder Minuten in Anspruch nehmen, abhängig von der Anzahl Punkte oder Segmente der Referenzkontur und der relevanten Fläche um ContourContourContourContourcontour, die durch MaxDistanceMaxDistanceMaxDistanceMaxDistancemaxDistance beeinflusst wird. create_distance_transform_xldcreate_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXldCreateDistanceTransformXld ist schneller, falls ModeModeModeModemode auf 'point_to_point' gesetzt wird.

get_distance_transform_xld_contourget_distance_transform_xld_contourGetDistanceTransformXldContourGetDistanceTransformXldContourGetDistanceTransformXldContour und get_distance_transform_xld_paramget_distance_transform_xld_paramGetDistanceTransformXldParamGetDistanceTransformXldParamGetDistanceTransformXldParam können verwendet werden, um die Referenzkontur und Parameter der XLD-Distanztransformation DistanceTransformIDDistanceTransformIDDistanceTransformIDDistanceTransformIDdistanceTransformID zurückzubekommen.

Ausführungsinformationen

Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.

Parameter

ContourContourContourContourcontour (input_object)  xld_cont(-array) objectHXLDContHXLDContHobject

Referenzkontur(en).

ModeModeModeModemode (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Berechne die Distanz zu Punkten ('point_to_point') oder zu ganzen Segmenten ('point_to_segment').

Defaultwert: 'point_to_point' "point_to_point" "point_to_point" "point_to_point" "point_to_point"

Werteliste: 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point", 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment"

MaxDistanceMaxDistanceMaxDistanceMaxDistancemaxDistance (input_control)  real HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Maximaler interessierender Abstand.

Defaultwert: 20.0

DistanceTransformIDDistanceTransformIDDistanceTransformIDDistanceTransformIDdistanceTransformID (output_control)  xld_dist_trans HXLDDistTrans, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle der XLD-Distanztransformation der Kontur(en).

Ergebnis

Sind die Parameterwerte korrekt, dann liefert der Operator den Wert 2 (H_MSG_TRUE), sonst eine Fehlermeldung.

Nachfolger

apply_distance_transform_xldapply_distance_transform_xldApplyDistanceTransformXldApplyDistanceTransformXldApplyDistanceTransformXld, write_distance_transform_xldwrite_distance_transform_xldWriteDistanceTransformXldWriteDistanceTransformXldWriteDistanceTransformXld, serialize_distance_transform_xldserialize_distance_transform_xldSerializeDistanceTransformXldSerializeDistanceTransformXldSerializeDistanceTransformXld, clear_distance_transform_xldclear_distance_transform_xldClearDistanceTransformXldClearDistanceTransformXldClearDistanceTransformXld

Siehe auch

distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXldDistanceContoursXld, get_distance_transform_xld_contourget_distance_transform_xld_contourGetDistanceTransformXldContourGetDistanceTransformXldContourGetDistanceTransformXldContour, read_distance_transform_xldread_distance_transform_xldReadDistanceTransformXldReadDistanceTransformXldReadDistanceTransformXld, deserialize_distance_transform_xlddeserialize_distance_transform_xldDeserializeDistanceTransformXldDeserializeDistanceTransformXldDeserializeDistanceTransformXld, get_distance_transform_xld_paramget_distance_transform_xld_paramGetDistanceTransformXldParamGetDistanceTransformXldParamGetDistanceTransformXldParam, set_distance_transform_xld_paramset_distance_transform_xld_paramSetDistanceTransformXldParamSetDistanceTransformXldParamSetDistanceTransformXldParam

Modul

Foundation