merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan (Operator)
Name
merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan — Zusammenfügen von Regionen aus Zeilenkamerabildern.
Signatur
Herror merge_regions_line_scan(const Hobject CurrRegions, const Hobject PrevRegions, Hobject* CurrMergedRegions, Hobject* PrevMergedRegions, const Hlong ImageHeight, const char* MergeBorder, const Hlong MaxImagesRegion)
Herror T_merge_regions_line_scan(const Hobject CurrRegions, const Hobject PrevRegions, Hobject* CurrMergedRegions, Hobject* PrevMergedRegions, const Htuple ImageHeight, const Htuple MergeBorder, const Htuple MaxImagesRegion)
void MergeRegionsLineScan(const HObject& CurrRegions, const HObject& PrevRegions, HObject* CurrMergedRegions, HObject* PrevMergedRegions, const HTuple& ImageHeight, const HTuple& MergeBorder, const HTuple& MaxImagesRegion)
HRegion HRegion::MergeRegionsLineScan(const HRegion& PrevRegions, HRegion* PrevMergedRegions, Hlong ImageHeight, const HString& MergeBorder, Hlong MaxImagesRegion) const
HRegion HRegion::MergeRegionsLineScan(const HRegion& PrevRegions, HRegion* PrevMergedRegions, Hlong ImageHeight, const char* MergeBorder, Hlong MaxImagesRegion) const
HRegion HRegion::MergeRegionsLineScan(const HRegion& PrevRegions, HRegion* PrevMergedRegions, Hlong ImageHeight, const wchar_t* MergeBorder, Hlong MaxImagesRegion) const
(Nur Windows)
static void HOperatorSet.MergeRegionsLineScan(HObject currRegions, HObject prevRegions, out HObject currMergedRegions, out HObject prevMergedRegions, HTuple imageHeight, HTuple mergeBorder, HTuple maxImagesRegion)
HRegion HRegion.MergeRegionsLineScan(HRegion prevRegions, out HRegion prevMergedRegions, int imageHeight, string mergeBorder, int maxImagesRegion)
Beschreibung
Der Operator merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan verbindet Regionen,
die aus räumlich aneinandergrenzenden Bildern mit der Höhe
ImageHeightImageHeightImageHeightImageHeightimageHeightimage_height segmentiert wurden und die, wenn das alte Bild
verschoben wird, an den Bildrändern zusammenstoßen.
Die Bilder können beispielsweise von einer Zeilenkamera nacheinander
aufgenommen worden sein. Dabei wird davon ausgegangen, dass
CurrRegionsCurrRegionsCurrRegionsCurrRegionscurrRegionscurr_regions Regionen des aktuellen Bildes enthält und
PrevRegionsPrevRegionsPrevRegionsPrevRegionsprevRegionsprev_regions Regionen des vorherigen Bildes, 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").
Der Parameter MaxImagesRegionMaxImagesRegionMaxImagesRegionMaxImagesRegionmaxImagesRegionmax_images_region bestimmt bei der rekursiven
Anwendung des Operators merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan, wie viel
Bilder eine aktuelle Ausgangsregion maximal zurückreichen kann.
Der Regionenteil, der über diese Bilder hinausreicht, wird
abgeschnitten.
Der Operator merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan liefert zwei
Regionenarrays zurück. PrevMergedRegionsPrevMergedRegionsPrevMergedRegionsPrevMergedRegionsprevMergedRegionsprev_merged_regions enthält alle
Regionen, die ausschließlich im alten Bild liegen und nichts
mit einer aktuellen Region verbunden werden konnten.
In CurrMergedRegionsCurrMergedRegionsCurrMergedRegionsCurrMergedRegionscurrMergedRegionscurr_merged_regions werden dagegen alle aktuellen Regionen,
gegebenenfalls vergrößert um die angrenzenden Regionen aus
PrevRegionsPrevRegionsPrevRegionsPrevRegionsprevRegionsprev_regions, eingetragen. Die so verbundenen
Regionen erscheinen als eine einzige neue Region in
CurrMergedRegionsCurrMergedRegionsCurrMergedRegionsCurrMergedRegionscurrMergedRegionscurr_merged_regions, wobei die angefügten Teile 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 werden und
in der Ergebnisregion in CurrMergedRegionsCurrMergedRegionsCurrMergedRegionsCurrMergedRegionscurrMergedRegionscurr_merged_regions über den
Bildrand hinausgehen. Dafür wird durch
merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan der Systemparameter
'clip_region'"clip_region""clip_region""clip_region""clip_region""clip_region" (vgl. set_systemset_systemSetSystemSetSystemSetSystemset_system) auf
'false'"false""false""false""false""false" gesetzt.
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.
Parameter
CurrRegionsCurrRegionsCurrRegionsCurrRegionscurrRegionscurr_regions (input_object) region(-array) → objectHRegionHObjectHRegionHobject
Aktuelle Eingaberegionen.
PrevRegionsPrevRegionsPrevRegionsPrevRegionsprevRegionsprev_regions (input_object) region(-array) → objectHRegionHObjectHRegionHobject
Im vorhergehenden Zyklus zusammengefügte Regionen.
CurrMergedRegionsCurrMergedRegionsCurrMergedRegionsCurrMergedRegionscurrMergedRegionscurr_merged_regions (output_object) region(-array) → objectHRegionHObjectHRegionHobject *
Aktuelle Regionen, die ggf. mit den alten Regionen
verbunden wurden.
PrevMergedRegionsPrevMergedRegionsPrevMergedRegionsPrevMergedRegionsprevMergedRegionsprev_merged_regions (output_object) region(-array) → objectHRegionHObjectHRegionHobject *
Alte Regionen, 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, 1024
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"
MaxImagesRegionMaxImagesRegionMaxImagesRegionMaxImagesRegionmaxImagesRegionmax_images_region (input_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Maximale Anzahl der Bilder, über die sich eine Region
erstrecken darf.
Defaultwert: 3
Wertevorschläge: 1, 2, 3, 4, 5
Ergebnis
merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan liefert den Wert TRUE, falls die
übergebenen Parameter korrekt sind. Ansonsten wird eine
Fehlerbehandlung durchgeführt.
Modul
Foundation