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