create_distance_transform_xldT_create_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXldcreate_distance_transform_xld (Operator)

Name

create_distance_transform_xldT_create_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXldcreate_distance_transform_xld — 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)

def create_distance_transform_xld(contour: HObject, mode: str, max_distance: Union[int, float]) -> HHandle

Beschreibung

create_distance_transform_xldcreate_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXldCreateDistanceTransformXldcreate_distance_transform_xld erzeugt die XLD-Distanztransformation der Referenzkontur ContourContourContourContourcontourcontour und liefert das entstandene Handle in DistanceTransformIDDistanceTransformIDDistanceTransformIDDistanceTransformIDdistanceTransformIDdistance_transform_id zurück.

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

Der Parameter ModeModeModeModemodemode legt fest, welche Abstände in apply_distance_transform_xldapply_distance_transform_xldApplyDistanceTransformXldApplyDistanceTransformXldApplyDistanceTransformXldapply_distance_transform_xld berechnet werden: 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point""point_to_point" berechnet den minimalen Abstand zu den Stützpunkten von ContourContourContourContourcontourcontour. Dagegen berechnet 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment" den minimalen Abstand zu den Kontursegmenten von ContourContourContourContourcontourcontour (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""point_to_point", und Abstand dem Modus 'point_to_segment'. Der grau unterlegte Bereich stellt die Fläche innerhalb von MaxDistanceMaxDistanceMaxDistanceMaxDistancemaxDistancemax_distance um die Referenzkontur dar, für die Abstandswerte berechnet werden. Der Abstand von Punkt 2 der Testkontur würde auf MaxDistanceMaxDistanceMaxDistanceMaxDistancemaxDistancemax_distance gesetzt werden, da er außerhalb dieses Bereichs liegt.

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

create_distance_transform_xldcreate_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXldCreateDistanceTransformXldcreate_distance_transform_xld und apply_distance_transform_xldapply_distance_transform_xldApplyDistanceTransformXldApplyDistanceTransformXldApplyDistanceTransformXldapply_distance_transform_xld stellen eine Alternative zu distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXldDistanceContoursXlddistance_contours_xld dar, falls die Referenzkontur wiederholt verwendet wird. create_distance_transform_xldcreate_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXldCreateDistanceTransformXldcreate_distance_transform_xld speichert für jeden Pixel in einer relevanten Fläche um ContourContourContourContourcontourcontour seine nächsten Punkte oder Segmente (abhängig von ModeModeModeModemodemode) der Referenzkontur ContourContourContourContourcontourcontour. Damit kann apply_distance_transform_xldapply_distance_transform_xldApplyDistanceTransformXldApplyDistanceTransformXldApplyDistanceTransformXldapply_distance_transform_xld Abstände sehr schnell berechnen, fast unabhängig von der Anzahl Punkte oder Segmente der Referenzkontur, von ModeModeModeModemodemode 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 ContourContourContourContourcontourcontour, die durch MaxDistanceMaxDistanceMaxDistanceMaxDistancemaxDistancemax_distance beeinflusst wird. create_distance_transform_xldcreate_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXldCreateDistanceTransformXldcreate_distance_transform_xld ist schneller, falls ModeModeModeModemodemode auf 'point_to_point' gesetzt wird.

get_distance_transform_xld_contourget_distance_transform_xld_contourGetDistanceTransformXldContourGetDistanceTransformXldContourGetDistanceTransformXldContourget_distance_transform_xld_contour und get_distance_transform_xld_paramget_distance_transform_xld_paramGetDistanceTransformXldParamGetDistanceTransformXldParamGetDistanceTransformXldParamget_distance_transform_xld_param können verwendet werden, um die Referenzkontur und Parameter der XLD-Distanztransformation DistanceTransformIDDistanceTransformIDDistanceTransformIDDistanceTransformIDdistanceTransformIDdistance_transform_id 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

ContourContourContourContourcontourcontour (input_object)  xld_cont(-array) objectHXLDContHObjectHXLDContHobject

Referenzkontur(en).

ModeModeModeModemodemode (input_control)  string HTuplestrHTupleHtuple (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" "point_to_point"

Werteliste: 'point_to_point'"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""point_to_segment"

MaxDistanceMaxDistanceMaxDistanceMaxDistancemaxDistancemax_distance (input_control)  real HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Maximaler interessierender Abstand.

Defaultwert: 20.0

DistanceTransformIDDistanceTransformIDDistanceTransformIDDistanceTransformIDdistanceTransformIDdistance_transform_id (output_control)  xld_dist_trans HXLDDistTrans, HTupleHHandleHTupleHtuple (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_xldApplyDistanceTransformXldApplyDistanceTransformXldApplyDistanceTransformXldapply_distance_transform_xld, write_distance_transform_xldwrite_distance_transform_xldWriteDistanceTransformXldWriteDistanceTransformXldWriteDistanceTransformXldwrite_distance_transform_xld, serialize_distance_transform_xldserialize_distance_transform_xldSerializeDistanceTransformXldSerializeDistanceTransformXldSerializeDistanceTransformXldserialize_distance_transform_xld, clear_distance_transform_xldclear_distance_transform_xldClearDistanceTransformXldClearDistanceTransformXldClearDistanceTransformXldclear_distance_transform_xld

Siehe auch

distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXldDistanceContoursXlddistance_contours_xld, get_distance_transform_xld_contourget_distance_transform_xld_contourGetDistanceTransformXldContourGetDistanceTransformXldContourGetDistanceTransformXldContourget_distance_transform_xld_contour, read_distance_transform_xldread_distance_transform_xldReadDistanceTransformXldReadDistanceTransformXldReadDistanceTransformXldread_distance_transform_xld, deserialize_distance_transform_xlddeserialize_distance_transform_xldDeserializeDistanceTransformXldDeserializeDistanceTransformXldDeserializeDistanceTransformXlddeserialize_distance_transform_xld, get_distance_transform_xld_paramget_distance_transform_xld_paramGetDistanceTransformXldParamGetDistanceTransformXldParamGetDistanceTransformXldParamget_distance_transform_xld_param, set_distance_transform_xld_paramset_distance_transform_xld_paramSetDistanceTransformXldParamSetDistanceTransformXldParamSetDistanceTransformXldParamset_distance_transform_xld_param

Modul

Foundation