merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScan (Operator)
Name
merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScan
— 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_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScan
verbindet Regionen,
die aus räumlich aneinandergrenzenden Bildern mit der Höhe
ImageHeightImageHeightImageHeightImageHeightimageHeight
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
CurrRegionsCurrRegionsCurrRegionsCurrRegionscurrRegions
Regionen des aktuellen Bildes enthält und
PrevRegionsPrevRegionsPrevRegionsPrevRegionsprevRegions
Regionen des vorherigen Bildes, welches die
räumliche Fortsetzung des aktuellen Bildes darstellt.
Mit Hilfe des Parameters 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").
Der Parameter MaxImagesRegionMaxImagesRegionMaxImagesRegionMaxImagesRegionmaxImagesRegion
bestimmt bei der rekursiven
Anwendung des Operators merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScan
, wieviel
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_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScan
liefert zwei
Regionenarrays zurück. PrevMergedRegionsPrevMergedRegionsPrevMergedRegionsPrevMergedRegionsprevMergedRegions
enthält alle
Regionen, die ausschließlich im alten Bild liegen und nicht
mit einer aktuellen Region verbunden werden konnten.
In CurrMergedRegionsCurrMergedRegionsCurrMergedRegionsCurrMergedRegionscurrMergedRegions
werden dagegen alle aktuellen Regionen,
gegebenenfalls vergrößert um die angrenzenden Regionen aus
PrevRegionsPrevRegionsPrevRegionsPrevRegionsprevRegions
, eingetragen. Die so verbundenen
Regionen erscheinen als eine einzige neue Region in
CurrMergedRegionsCurrMergedRegionsCurrMergedRegionsCurrMergedRegionscurrMergedRegions
, wobei die angefügten Teile um die
Bildhöhe nach oben (MergeBorderMergeBorderMergeBorderMergeBordermergeBorder
='top'"top""top""top""top") oder nach
unten (MergeBorderMergeBorderMergeBorderMergeBordermergeBorder
='bottom'"bottom""bottom""bottom""bottom") verschoben werden und
in der Ergebnisregion in CurrMergedRegionsCurrMergedRegionsCurrMergedRegionsCurrMergedRegionscurrMergedRegions
über den
Bildrand hinausgehen. Dafür wird durch
merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScan
der Systemparameter
'clip_region'"clip_region""clip_region""clip_region""clip_region" (vgl. set_systemset_systemSetSystemSetSystemSetSystem
) auf
'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
CurrRegionsCurrRegionsCurrRegionsCurrRegionscurrRegions
(input_object) region(-array) →
objectHRegionHRegionHobject
Aktuelle Eingaberegionen.
PrevRegionsPrevRegionsPrevRegionsPrevRegionsprevRegions
(input_object) region(-array) →
objectHRegionHRegionHobject
Im vorhergehenden Zyklus zusammengefügte Regionen.
CurrMergedRegionsCurrMergedRegionsCurrMergedRegionsCurrMergedRegionscurrMergedRegions
(output_object) region(-array) →
objectHRegionHRegionHobject *
Aktuelle Regionen, die ggf. mit den alten Regionen
verbunden wurden.
PrevMergedRegionsPrevMergedRegionsPrevMergedRegionsPrevMergedRegionsprevMergedRegions
(output_object) region(-array) →
objectHRegionHRegionHobject *
Alte Regionen, 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, 1024
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"
MaxImagesRegionMaxImagesRegionMaxImagesRegionMaxImagesRegionmaxImagesRegion
(input_control) integer →
HTupleHTupleHtuple (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_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScan
liefert den Wert 2 (H_MSG_TRUE), falls die
übergebenen Parameter korrekt sind. Ansonsten wird eine
Fehlerbehandlung durchgeführt.
Modul
Foundation