create_distance_transform_xldT_create_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXld (Operator)
Name
create_distance_transform_xldT_create_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXld — 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_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).
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
- 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
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