gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld (Operator)

Name

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld — Umwandeln eines Skeletts in XLD-Konturen.

Signatur

gen_contours_skeleton_xld(Skeleton : Contours : Length, Mode : )

Herror gen_contours_skeleton_xld(const Hobject Skeleton, Hobject* Contours, const Hlong Length, const char* Mode)

Herror T_gen_contours_skeleton_xld(const Hobject Skeleton, Hobject* Contours, const Htuple Length, const Htuple Mode)

void GenContoursSkeletonXld(const HObject& Skeleton, HObject* Contours, const HTuple& Length, const HTuple& Mode)

HXLDCont HRegion::GenContoursSkeletonXld(Hlong Length, const HString& Mode) const

HXLDCont HRegion::GenContoursSkeletonXld(Hlong Length, const char* Mode) const

HXLDCont HRegion::GenContoursSkeletonXld(Hlong Length, const wchar_t* Mode) const   (Nur Windows)

static void HOperatorSet.GenContoursSkeletonXld(HObject skeleton, out HObject contours, HTuple length, HTuple mode)

HXLDCont HRegion.GenContoursSkeletonXld(int length, string mode)

def gen_contours_skeleton_xld(skeleton: HObject, length: int, mode: str) -> HObject

Beschreibung

Mit gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld wird das in SkeletonSkeletonSkeletonSkeletonskeletonskeleton als Region übergebene Skelett (z.B. Bildkanten) in die Konturdarstellung umgerechnet. Es wird angenommen, dass der Großteil der Region nur ein Pixel breit ist (siehe skeletonskeletonSkeletonSkeletonSkeletonskeleton).

Der Algorithmus versucht zunächst, die Region so zu transformieren, dass sie in 8-Nachbarschaft nur noch Linienzüge enthält. In einem zweiten Schritt werden die Kreuzungspunkte markiert. Anschließend versucht gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld Konturen zu erzeugen, die in End- und Kreuzungspunkten enden, insbesondere für Kreuzungspunkte in den folgenden Konfigurationen (in allen vier Rotationen): 1 0 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 2 0 0 2 0 0 2 1 0 2 1 0 2 1 1 2 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 wobei 0 = Hintergrund, 1 = Vordergrund und 2 = Kreuzungspunkt.

Anschließend werden die Konturen zurückgegeben, die einschließlich End- und Kreuzungspunkten mindestens LengthLengthLengthLengthlengthlength Punkte lang sind. Die Unterbrechung der Konturen an Kreuzungspunkten hat zur Folge, dass auch längere Linienzüge durch Kreuzen von kurzen Linien (auch wenn diese weniger als LengthLengthLengthLengthlengthlength Punkte lang sind) in mehrere Konturen zerfallen (ModeModeModeModemodemode 'filter'"filter""filter""filter""filter""filter"). Dies wird mit dem Filtermodus (ModeModeModeModemodemode) 'generalize1'"generalize1""generalize1""generalize1""generalize1""generalize1" vermieden. In diesem Fall werden die Konturen so erzeugt, wie wenn die Konturen kürzer als LengthLengthLengthLengthlengthlength Punkte nicht vorhanden wären. Damit auch Linienzüge, die durch Kreuzen von kurzen Linien in sehr kurze Konturen zerfallen, erhalten bleiben, kann der Filtermodus (ModeModeModeModemodemode) 'generalize2'"generalize2""generalize2""generalize2""generalize2""generalize2" eingestellt werden. In diesem Fall bleiben Linienstücke erhalten, deren beide Endpunkte Kreuzungspunkte mit anderen Linien sind, auch wenn sie kürzer als LengthLengthLengthLengthlengthlength Punkte sind.

Ausführungsinformationen

Parameter

SkeletonSkeletonSkeletonSkeletonskeletonskeleton (input_object)  region objectHRegionHObjectHRegionHobject

Skelett für die Konturberechnung.

ContoursContoursContoursContourscontourscontours (output_object)  xld_cont-array objectHXLDContHObjectHXLDContHobject *

Ausgabe-Konturen.

LengthLengthLengthLengthlengthlength (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Mindestlänge zu erfassender Konturen.

Defaultwert: 1

Wertevorschläge: 1, 2, 3, 5, 10, 20

ModeModeModeModemodemode (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Kontur-Filtermodus.

Defaultwert: 'filter' "filter" "filter" "filter" "filter" "filter"

Werteliste: 'filter'"filter""filter""filter""filter""filter", 'generalize1'"generalize1""generalize1""generalize1""generalize1""generalize1", 'generalize2'"generalize2""generalize2""generalize2""generalize2""generalize2"

Vorgänger

skeletonskeletonSkeletonSkeletonSkeletonskeleton

Nachfolger

smooth_contours_xldsmooth_contours_xldSmoothContoursXldSmoothContoursXldSmoothContoursXldsmooth_contours_xld, get_contour_xldget_contour_xldGetContourXldGetContourXldGetContourXldget_contour_xld, gen_polygons_xldgen_polygons_xldGenPolygonsXldGenPolygonsXldGenPolygonsXldgen_polygons_xld

Siehe auch

edges_imageedges_imageEdgesImageEdgesImageEdgesImageedges_image, thresholdthresholdThresholdThresholdThresholdthreshold, get_region_contourget_region_contourGetRegionContourGetRegionContourGetRegionContourget_region_contour

Modul

Foundation