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
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_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).
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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