merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXldmerge_cont_line_scan_xld (Operator)

Name

merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXldmerge_cont_line_scan_xld — 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)

def merge_cont_line_scan_xld(curr_conts: HObject, prev_conts: HObject, image_height: int, margin: Union[float, int], merge_border: str, max_images_cont: int) -> Tuple[HObject, HObject]

Beschreibung

Der Operator merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXldMergeContLineScanXldmerge_cont_line_scan_xld verbindet Konturen, die aus räumlich aneinandergrenzenden Bildern der Höhe ImageHeightImageHeightImageHeightImageHeightimageHeightimage_height 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 CurrContsCurrContsCurrContsCurrContscurrContscurr_conts die Konturen des aktuellen Bildes enthält und PrevContsPrevContsPrevContsPrevContsprevContsprev_conts die des vorherigen, welches die räumliche Fortsetzung des aktuellen Bildes darstellt.

Mit Hilfe des Parameters MergeBorderMergeBorderMergeBorderMergeBordermergeBordermerge_border kann angegeben werden, ob die Oberkante des aktuellen Bildes an die Unterkante des vorherigen Bildes stößt ('top'"top""top""top""top""top") oder die Unterkante des aktuellen Bildes an die Oberkante des vorherigen Bildes ('bottom'"bottom""bottom""bottom""bottom""bottom"). MergeBorderMergeBorderMergeBorderMergeBordermergeBordermerge_border 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 MaxImagesContMaxImagesContMaxImagesContMaxImagesContmaxImagesContmax_images_cont bestimmt bei der rekursiven Anwendung des Operators merge_cont_line_scan_xldmerge_cont_line_scan_xldMergeContLineScanXldMergeContLineScanXldMergeContLineScanXldmerge_cont_line_scan_xld, wie viel 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_xldMergeContLineScanXldMergeContLineScanXldMergeContLineScanXldmerge_cont_line_scan_xld liefert zwei Konturarrays zurück. PrevMergedContsPrevMergedContsPrevMergedContsPrevMergedContsprevMergedContsprev_merged_conts enthält alle Konturen, die ausschließlich in der alten Konturenliste enthalten sind und nicht mit den aktuellen Konturen verbunden werden konnten. In CurrMergedContsCurrMergedContsCurrMergedContsCurrMergedContscurrMergedContscurr_merged_conts werden dagegen alle aktuellen und die mit diesen verbundenen Konturen eingetragen. Die miteinander verbundenen Konturen erscheinen als eine einzige neue Kontur in CurrMergedContsCurrMergedContsCurrMergedContsCurrMergedContscurrMergedContscurr_merged_conts, 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 (MergeBorderMergeBorderMergeBorderMergeBordermergeBordermerge_border='top'"top""top""top""top""top") oder nach unten (MergeBorderMergeBorderMergeBorderMergeBordermergeBordermerge_border='bottom'"bottom""bottom""bottom""bottom""bottom") verschoben wird.

Ausführungsinformationen

Parameter

CurrContsCurrContsCurrContsCurrContscurrContscurr_conts (input_object)  xld_cont(-array) objectHXLDContHObjectHXLDContHobject

Aktuelle Eingabekonturen.

PrevContsPrevContsPrevContsPrevContsprevContsprev_conts (input_object)  xld_cont(-array) objectHXLDContHObjectHXLDContHobject

Im vorhergehenden Zyklus zusammengefügte Konturen.

CurrMergedContsCurrMergedContsCurrMergedContsCurrMergedContscurrMergedContscurr_merged_conts (output_object)  xld_cont(-array) objectHXLDContHObjectHXLDContHobject *

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

PrevMergedContsPrevMergedContsPrevMergedContsPrevMergedContsprevMergedContsprev_merged_conts (output_object)  xld_cont(-array) objectHXLDContHObjectHXLDContHobject *

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

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

Höhe der Ausgangsbilder.

Defaultwert: 512

Wertevorschläge: 240, 480, 512

MarginMarginMarginMarginmarginmargin (input_control)  real HTupleUnion[float, int]HTupleHtuple (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

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

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

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

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

MaxImagesContMaxImagesContMaxImagesContMaxImagesContmaxImagesContmax_images_cont (input_control)  integer HTupleintHTupleHtuple (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_xldMergeContLineScanXldMergeContLineScanXldMergeContLineScanXldmerge_cont_line_scan_xld liefert den Wert 2 (H_MSG_TRUE), falls die übergebenen Parameter korrekt sind. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Modul

Foundation