merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXld (Operator)

Name

merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXld — Zusammenfügen von Konturen aus aufeinanderfolgenden Zeilenkamerabildern.

Signatur

merge_cont_line_scan_xld(CurrConts, PrevConts : CurrMergedConts, PrevMergedConts : ImageHeight, Margin, MergeBorder, MaxImagesCont : )

Herror merge_cont_line_scan_xld(const Hobject CurrConts, const Hobject PrevConts, Hobject* CurrMergedConts, Hobject* PrevMergedConts, const Hlong ImageHeight, double Margin, const char* MergeBorder, const Hlong MaxImagesCont)

Herror T_merge_cont_line_scan_xld(const Hobject CurrConts, const Hobject PrevConts, Hobject* CurrMergedConts, Hobject* PrevMergedConts, const Htuple ImageHeight, const Htuple Margin, const Htuple MergeBorder, const Htuple MaxImagesCont)

void MergeContLineScanXld(const HObject& CurrConts, const HObject& PrevConts, HObject* CurrMergedConts, HObject* PrevMergedConts, const HTuple& ImageHeight, const HTuple& Margin, const HTuple& MergeBorder, const HTuple& MaxImagesCont)

HXLDCont HXLDCont::MergeContLineScanXld(const HXLDCont& PrevConts, HXLDCont* PrevMergedConts, Hlong ImageHeight, const HTuple& Margin, const HString& MergeBorder, Hlong MaxImagesCont) const

HXLDCont HXLDCont::MergeContLineScanXld(const HXLDCont& PrevConts, HXLDCont* PrevMergedConts, Hlong ImageHeight, double Margin, const HString& MergeBorder, Hlong MaxImagesCont) const

HXLDCont HXLDCont::MergeContLineScanXld(const HXLDCont& PrevConts, HXLDCont* PrevMergedConts, Hlong ImageHeight, double Margin, const char* MergeBorder, Hlong MaxImagesCont) const

HXLDCont HXLDCont::MergeContLineScanXld(const HXLDCont& PrevConts, HXLDCont* PrevMergedConts, Hlong ImageHeight, double Margin, const wchar_t* MergeBorder, Hlong MaxImagesCont) const   (Nur Windows)

static void HOperatorSet.MergeContLineScanXld(HObject currConts, HObject prevConts, out HObject currMergedConts, out HObject prevMergedConts, HTuple imageHeight, HTuple margin, HTuple mergeBorder, HTuple maxImagesCont)

HXLDCont HXLDCont.MergeContLineScanXld(HXLDCont prevConts, out HXLDCont prevMergedConts, int imageHeight, HTuple margin, string mergeBorder, int maxImagesCont)

HXLDCont HXLDCont.MergeContLineScanXld(HXLDCont prevConts, out HXLDCont prevMergedConts, int imageHeight, double margin, string mergeBorder, int maxImagesCont)

Beschreibung

Der Operator merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXldMergeContLineScanXld verbindet Konturen, die aus räumlich aneinandergrenzenden Bildern der Höhe ImageHeightImageHeightImageHeightImageHeightimageHeight extrahiert wurden und über die Bildränder hinaus ineinander überführt werden können. Die Bilder können beispielsweise von einer Zeilenkamera nacheinander aufgenommen worden sein. Dabei wird davon ausgegangen, dass CurrContsCurrContsCurrContsCurrContscurrConts die Konturen des aktuellen Bildes enthält und PrevContsPrevContsPrevContsPrevContsprevConts die des vorherigen, welches die räumliche Forfsetzung des aktuellen Bildes darstellt.

Mit Hilfe des Paramaters MergeBorderMergeBorderMergeBorderMergeBordermergeBorder kann angegeben werden, ob die Oberkante des aktuellen Bildes an die Unterkante des vorherigen Bildes stößt ('top'"top""top""top""top") oder die Unterkannte des aktuellen Bildes an die Oberkante des vorherigen Bildes ('bottom'"bottom""bottom""bottom""bottom"). MergeBorderMergeBorderMergeBorderMergeBordermergeBorder definiert den Abstand vom Rand, in dem die Endpunkte der Kontur liegen müssen, um für das Merging berücksichtigt zu werden.

Der Parameter MaxImagesContMaxImagesContMaxImagesContMaxImagesContmaxImagesCont bestimmt bei der rekursiven Anwendung des Operators merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXldMergeContLineScanXld, wieviel Bilder eine aktuelle Ausgangskontur maximal zurückreichen kann. Alle Konturpunkte aus früheren Bildern werden aus der Ausgabekontur entfernt.

Der Operator merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXldMergeContLineScanXld liefert zwei Konturenarrays zurück. PrevMergedContsPrevMergedContsPrevMergedContsPrevMergedContsprevMergedConts enthält alle Konturen, die ausschließlich in der alten Konturenliste enthalten sind und nicht mit den aktuellen Konturen verbunden werden konnten. In CurrMergedContsCurrMergedContsCurrMergedContsCurrMergedContscurrMergedConts werden dagegen alle aktuellen und die mit diesen verbundenen Konturen eingetragen. Die miteinander verbundenen Konturen erscheinen als eine einzige neue Kontur in CurrMergedContsCurrMergedContsCurrMergedContsCurrMergedContscurrMergedConts, wobei diese verbundenen Konturen über den Bildrand hinausgehen. Das bedeutet, dass der an eine aktuelle Kontur angebundene alte Teil um die Bildhöhe nach oben (MergeBorderMergeBorderMergeBorderMergeBordermergeBorder='top'"top""top""top""top") oder nach unten (MergeBorderMergeBorderMergeBorderMergeBordermergeBorder='bottom'"bottom""bottom""bottom""bottom") verschoben wird.

Ausführungsinformationen

Parameter

CurrContsCurrContsCurrContsCurrContscurrConts (input_object)  xld_cont(-array) objectHXLDContHXLDContHobject

Aktuelle Eingabekonturen.

PrevContsPrevContsPrevContsPrevContsprevConts (input_object)  xld_cont(-array) objectHXLDContHXLDContHobject

Im vorhergehenden Zyklus zusammengefügte Konturen.

CurrMergedContsCurrMergedContsCurrMergedContsCurrMergedContscurrMergedConts (output_object)  xld_cont(-array) objectHXLDContHXLDContHobject *

Aktuelle Konturen, die ggf. mit den alten Konturen verbunden wurden.

PrevMergedContsPrevMergedContsPrevMergedContsPrevMergedContsprevMergedConts (output_object)  xld_cont(-array) objectHXLDContHXLDContHobject *

Alte Konturen, die nicht mit den aktuellen verbunden werden konnten.

ImageHeightImageHeightImageHeightImageHeightimageHeight (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Höhe der Ausgangsbilder.

Defaultwert: 512

Wertevorschläge: 240, 480, 512

MarginMarginMarginMarginmargin (input_control)  real HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Maximaler Abstand der Konturen vom Rand.

Defaultwert: 0.0

Wertevorschläge: 0.0, 1.0, 2.0, 3.0, 4.0, 5.0

MergeBorderMergeBorderMergeBorderMergeBordermergeBorder (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Im aktuellen Bild die Zeile, die mit dem vorhergehenden Bild zusammenstößt.

Defaultwert: 'top' "top" "top" "top" "top"

Werteliste: 'bottom'"bottom""bottom""bottom""bottom", 'top'"top""top""top""top"

MaxImagesContMaxImagesContMaxImagesContMaxImagesContmaxImagesCont (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Maximale Anzahl der Bilder, über die sich eine Kontur erstrecken darf.

Defaultwert: 3

Wertevorschläge: 1, 2, 3, 4, 5

Ergebnis

merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXldMergeContLineScanXld liefert den Wert 2 (H_MSG_TRUE), falls die übergebenen Parameter korrekt sind. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Modul

Foundation